0

私はこのxmlを持っています:

<root>
<fruitlist>
    <apple>4</apple>
    <apple>5</apple>
    <orange>2</orange>
    <orange>6</orange>
</fruitlist>
</root>

複数のノード タイプを処理する方法がわかりませんが、パーサー クラスを作成しています。ノード タイプが 1 つだけのリストを簡単に解析できます (例: オレンジではなくリンゴのみ)。

@ElementList(name = "fruitlist")
private List<Apple> exercises;

複数のノードタイプを使用すると、機能しないApple以外のノードも解析する必要があります。オレンジの別のリストも作成しようとしましたが、うまくいきません。フルーツリスト名を複数回使用することはできません。

@ElementList(name = "fruitlist", entry = "orange")
private List<Orange> exercises;

理想は、両方のノード タイプに対して 2 つの個別のリストです。

フビ

編集:さらに検索していじった後、この質問は重複しています:

単純な XML フレームワークによる継承

4

2 に答える 2

1

これを試してください、うまくいきます。

@ElementListUnion({
   @ElementList(entry="apple", type=Apple.class),
   @ElementList(entry="orange", type=Orange.class)
})
private List<Fruit> fruitlist;
于 2013-01-24T19:33:13.103 に答える
0

この解析の問題を解決するための理想的なデータ構造は、おそらく、要素の名前をキー (文字列) とし、可能な子のリストをコンテンツ (リスト) と するHashTable です。

Hashtable<String, Integer> numbers = new Hashtable<String, List<String>>();

とにかく、XML ファイルを解析したい場合は、Java で使用できるフレームワークがたくさんあります。

于 2011-08-05T13:21:52.273 に答える