• 締切済み

XMLからCSVへの変換処理について

Javaでフリーフォマット的なXMLをCSV形式に変換したいのですが XMLの形式が固定ではない為、XSL等は使用できません。 DOMまたはSAXで処理を行おうと思っているのですが 出力したいCSVの形式がSQLを外部結合したような くり返しを行いたいのですが、どのようにしたらいいでしょうか? くり返しのくり返し等ロジックが思い浮かびません。 何かヒントでもいいのでお願いいたします。 例) XML ---------------------------------------- <会社> <事業部> <事業部名>テスト1事業部</事業部名> <部> <部名>テスト1部</部名> <課> <課名>第1開発課1</課名> <課名>第2開発課1</課名> </課> </部> <部> <部名>テスト2部</部名> <課> <課名>第1開発課2</課名> <課名>第2開発課2</課名> </課> </部> </事業部> <概要> <A> <A1>テストA1</A1> <A2>テストA2</A2> </A> </概要> </会社> ---------------------------------------- 欲しいCSVの結果 事業部名,部名,課名,A1,A2 テスト1事業部,テスト1部,第1開発課1,テストA1,テストA2 テスト1事業部,テスト1部,第2開発課1,テストA1,テストA2 テスト1事業部,テスト2部,第1開発課2,テストA1,テストA2 テスト1事業部,テスト2部,第2開発課2,テストA1,テストA2

みんなの回答

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

完全フリーフォーマットなのよね。 そしたらベタにやっていくしかないわよ。 この場合なら 事業部のリスト 部のリスト Aのリスト の3つを用意して あとは3つのループをネストする これがスマートかしら。

jun_jp
質問者

お礼

回答ありがとうございます。 やっぱりベタな方法しかないですか。。。 もう少し考えて見ます。