我将从xsd生成java代码。我想知道如何在使用jaxb将xsd转换为java时删除xsd元素。我的目标是忽略消息
前:
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="name"/>
<xs:element type="xs:string" name="message"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Java变量
@XmlElement
protected String name;
在这里,您可以看到消息元素已被删除。我想知道怎么做?
答案 0 :(得分:0)
你可以改变.xsd吗? 当前元素&#34;注意&#34;告诉我们&#34; name&#34;和&#34;消息&#34;是必须的。如果你想要&#34;消息&#34;有条件的你可能需要添加minOccurs =&#34; 0&#34;属性:
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="name"/>
<xs:element type="xs:string" name="message" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
答案 1 :(得分:0)
如果我理解正确,那么总结一下,你想忽略一个强制性元素,但仍然希望结果能够正确验证。我的简短回答是,这是矛盾的,没有意义。 JAXB是为正确执行而构建的,你想错误地做(?)。
你有几个选择,例如。