gpt4 book ai didi

java - 从 JAX-WS 生成 XSD 时如何避免 XSD 序列?

转载 作者:行者123 更新时间:2023-11-30 09:52:01 24 4
gpt4 key购买 nike

当我注释了 java 类时

@javax.xml.bind.annotation.XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class UserdataType {

String username;
String street;
String address;

它将生成到

<xs:complexType name="userdataType">
<xs:sequence>
<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"/>

因此,默认情况下 JAX-WS 总是在 XSD 文件中生成“序列”。

这会迫使客户注意元素的确切顺序,这在某些情况下没有帮助。

有没有办法生成不同于序列的东西?

最佳答案

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

 @XmlType(propOrder={})

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

<xs:complexType name="userdataType">
<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>

关于java - 从 JAX-WS 生成 XSD 时如何避免 XSD 序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4407746/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com