2016-08-12 5 views
-2

私はこれ(フラグメント)のようなxmlを持っています。Java xmlからオブジェクトクラス

<struct> 
    <member> 
     <name>last_name</name> 
     <value> 
      <string></string> 
     </value> 
    </member> 
    <member> 
     <name>payment_method</name> 
     <value> 
      <int>1</int> 
     </value> 
    </member> 
</struct> 

どのように私はそれをJavaクラスに変換できますか?それは100以上の要素を持っており、変換するのに40以上のものがあるので、手作業で構文解析することは疑問ではありません:)

パーサは名前タグと値タグで囲まれた値を認識できません。それを使用する方法を知らない。すべての例は、あなたが何かを持っているようなものです。<age>78</age><name>age<name/> <value>78</value>

+0

DOM、SAX、StAX、JAXBのJavaに組み込まれている*多くの* XMLパーサーの1つを使用します。あるいは、さらに多くのサードパーティのXMLパーサライブラリを利用することもできます(見つけたい場合はウェブを検索してください)。 – Andreas

+0

[XMLをjavaオブジェクトに解析する方法]の複製がありますか?(http://stackoverflow.com/questions/16364547/how-to-parse-xml-to-java-object) –

+0

ええ、私はパーサについて知っています問題は、フィールドの名前と値が名前と値のタグで囲まれているため、クラスを作成できないことです。問題は、奇妙なscemaを理解するパーサー(できればjax)を作ることです。私はweb ofcを検索しましたが、私はどの例も見つけられませんでした。 –

答えて

0

maven-jaxb2-pluginを使用してください。 XMLスキーマ(XSDファイル)からXMLを解析するための非セクシュアルコードを生成します。 XSDをお持ちでない場合は、this online generatorにサンプルデータから生成することができます。 XSDを生成してPOMにプラグインを追加し、それを設定すると(どこにXSDとどのコードを生成するか)、mvn generate-sourcesを実行することができます。 これは、ほとんどすべてのXMLを解析できる単一のJavaファイルにクラスのセットを生成します。必要な情報を抽出するためにトラバースできるXMLノードを表すPOJOの実行時構造を生成します。

0

すべての値を取り、最初からjaxやその他のパーサーで簡単に解析できる新しいXMLドキュメントを作成するクラスを作成する方が簡単なようです。

関連する問題