• 締切済み

SAXによる文字データの読み込み方法

現在、自作アプリのデータをXMLでファイルに保存し、SAXで読み込み処理をしようと考えております。 データは、次のようなものと仮定します。 <歌> <曲名>○○の歌</曲名> <作曲者>某 太郎</作曲者> </歌> 上記のようなXMLの場合、曲名、作曲者をcharacters()で得ることとなると思うのですが、どちらのデータなのかを判断する方法が分かりません。 startElement()で場合分けして、フラグをたてておいて、characters()内で、そのフラグを見て判断するしかないのでしょうか? なんか、スマートでない気がして、なにかいい方法がないかと悩んでいます。 ファイルから読み込んで、すぐに自前のクラスに代入するのですが、DOMでツリーを作った方がいいのでしょうか? なにか、よい方法をご存じでしたらご教授下さい。 よろしくお願いいたします。

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

プログラム言語がなにかよくわかりませんが、 SAXによる方法だと多かれ少なかれそんな感じになると思います。 DOMでもなんでもパーサーの処理結果を使うのが(特に問題となるような事項がないなら)楽ちんだと思います。

tomorot
質問者

お礼

回答ありがとうございます。 やはり、場合分けしてするしかないみたいですね。 今、どこのタグを解析中か、スタックで記憶するようにして場合分けするようにします。 ありがとうございました。

関連するQ&A