【问题标题】:How to tell JAXB that order of elements does not matter?如何告诉 JAXB 元素的顺序无关紧要?
【发布时间】:2011-06-10 09:51:24
【问题描述】:

是否可以告诉 JAXB 忽略元素的顺序?这样生成的 XSD 将包含 all-elements 而不是 sequence-elements?

【问题讨论】:

  • 你指的是什么? XJC(即模式到 java)或 schemagen(即 java 到模式)?从技术上讲,这些都不是 JAXB 的一部分。
  • 也许JAXBContext.generateSchema() 是什么意思?

标签: java xsd jaxb


【解决方案1】:

在带有空propOrder 的类中添加XmlType 注释,如下所示:

@XmlType(propOrder={})
public class MyClass{
    String username;
    String street;
    String address;
}

然后它会生成一个xs:all(它是无序的)而不是一个序列。

<xs:complexType name="MyClass">
  <xs:all>
    <xs:element name="username" type="xs:string" minOccurs="0"/>
    <xs:element name="street" type="xs:string" minOccurs="0"/>
    <xs:element name="address" type="xs:string" minOccurs="0"/>
  </xs:all>
</xs:complexType>

【讨论】:

    猜你喜欢
    • 2011-12-11
    • 1970-01-01
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-21
    • 1970-01-01
    相关资源
    最近更新 更多