2

私の質問は:xmlスキームから:

<topnode>
    topNodeValue
   <bottomnode/> 
</topnode>

Jaxbで生成されたクラスは次のようになります

class topnode {
    List<bottomnode> bottomnodeList;
}

これは、トップノードの値を設定するための値フィールドを生成しません。

どうすればこれを達成できますか?ありがとう。

4

2 に答える 2

3

要素のコンテンツに文字データと要素データの両方が含まれている場合、それは混合コンテンツと呼ばれます。JAXB(JSR-222)では、これは次の@XmlMixedような注釈でマップされます。

class topnode {
    @XmlMixed
    String text;

    List<bottomnode> bottomnodeList;
}

混合コンテンツの使用は、フォーマットに使用されるテキストノードが原因で予期しない結果が生じる可能性があるため、注意が必要な場合があります。より詳細な説明については、同様の質問に対する次の回答を参照してください。

于 2012-08-30T11:02:40.873 に答える
0

テキストノードの場合は、@XmlValue注釈を使用します。このようなもの:

class topnode {

    @XmlValue
    String topNodeValue;

    List<bottomnode> bottomnodeList;

}

提案として、Javaの命名基準を尊重し、それがxml要素と一致しない場合は、アノテーションのname属性を使用してください。@Xml...

于 2012-08-30T13:10:36.377 に答える