私の質問は:xml
スキームから:
<topnode>
topNodeValue
<bottomnode/>
</topnode>
Jaxbで生成されたクラスは次のようになります
class topnode {
List<bottomnode> bottomnodeList;
}
これは、トップノードの値を設定するための値フィールドを生成しません。
どうすればこれを達成できますか?ありがとう。
私の質問は:xml
スキームから:
<topnode>
topNodeValue
<bottomnode/>
</topnode>
Jaxbで生成されたクラスは次のようになります
class topnode {
List<bottomnode> bottomnodeList;
}
これは、トップノードの値を設定するための値フィールドを生成しません。
どうすればこれを達成できますか?ありがとう。
要素のコンテンツに文字データと要素データの両方が含まれている場合、それは混合コンテンツと呼ばれます。JAXB(JSR-222)では、これは次の@XmlMixed
ような注釈でマップされます。
class topnode {
@XmlMixed
String text;
List<bottomnode> bottomnodeList;
}
混合コンテンツの使用は、フォーマットに使用されるテキストノードが原因で予期しない結果が生じる可能性があるため、注意が必要な場合があります。より詳細な説明については、同様の質問に対する次の回答を参照してください。
テキストノードの場合は、@XmlValue
注釈を使用します。このようなもの:
class topnode {
@XmlValue
String topNodeValue;
List<bottomnode> bottomnodeList;
}
提案として、Javaの命名基準を尊重し、それがxml要素と一致しない場合は、アノテーションのname
属性を使用してください。@Xml...