gpt4 book ai didi

java - 无法从 xsd 生成正确的类

转载 作者:行者123 更新时间:2023-12-01 11:00:38 26 4
gpt4 key购买 nike

我正在尝试从 Question.xsd 生成 Question 和 Tag 类。但我无法向问题添加 2 个(或更多)标签。如果我这样做<xs:element ref="schemas:Tag">它可以工作(但仅限于添加一个标签)。如果我删除 <xs:element name="Tag"> 它也有效和地名 <xs:complexType >而不是Tag节点。但是生成的ArrayOfTag包含String的List而不是Tag的List。实现这一目标的正确方法是什么?

 <xs:element name="Question">
<xs:complexType>
<xs:all>

**<xs:element name ="tag1" type="schemas:Tag"/>
<xs:element name ="tag2" type="schemas:Tag"/>**

</xs:all>
</xs:complexType>
</xs:element>


<xs:element name="ArrayOfTag">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="schemas:Tag"/>
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:element name="Tag">
<xs:complexType >
<xs:all>
<xs:element name="tagCode" type="xs:string" />
<xs:element name="tagName" type="xs:string" />
</xs:all>
</xs:complexType>
</xs:element>

最佳答案

这足以满足您的需求。不要将 Tag 设为元素,而是将其设为复杂类型,这样您就可以在需要类型为 tag 的元素时使用 type,而不是使用 ref。

<xs:element name="Question">
<xs:complexType>
<xs:all>
<xs:element name="tag1" type="Tag" />
<xs:element name="tag2" type="Tag"/>
</xs:all>
</xs:complexType>
</xs:element>

<xs:element name="ArrayOfTag">
<xs:complexType>
<xs:sequence>
<xs:element name="ArrayofTag" maxOccurs="unbounded" type="Tag"/>
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:complexType name="Tag">
<xs:all>
<xs:element name="tagCode" type="xs:string" />
<xs:element name="tagName" type="xs:string" />
</xs:all>
</xs:complexType>

关于java - 无法从 xsd 生成正确的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33361025/

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