要素を整列化しようとしていますが、場合によっては最終的なXMLに書き込まれないようにする必要があります。 nillable。JAXB要素を任意または両方ともマーシャリングする方法
は
<root>
<element>
<sub1>Whatever1</sub1>
<sub2 xsi:nil="true"/>
</element>
<element>
<sub1>Whatever2</sub1>
<sub2>Not empty</sub2>
</element>
<element>
<sub1>Whatever3</sub1>
</element>
</root>
要素「SUB2は」私はとのトラブルを抱えているものです以下の例を考えてみましょう。 、私はどうなる代わりに、最後の2を取得するには
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "element", propOrder = {
"sub1",
"sub2",
})
public class Element {
@XmlElement(required = true)
public String sub1;
@XmlElement(nillable = true)
public String sub2;
//...
}
::私は簡単に次のように宣言された要素のクラスで最初の2例を達成することができます私の理解から、
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "element", propOrder = {
"sub1",
"sub2",
})
public class Element {
@XmlElement(required = true)
public String sub1;
@XmlElement(required = false) //I could omit it entirely
public String sub2;
//...
}
があります両方を得る方法?
私はJava 6/JAXB 2.1.10を余儀なくされました。
ありがとうございます。
あなたのpojoは、xml要素の両方の型を理解することができます。あなたは何をしていないのですか? xmlを2つの形式で "生成"するか、またはxmlを指定された形式で読み込みますか?あなたのpojoを使用すると、提供されたxmlを正しくアンマーシャルすることができます – Optional