无法从 xsd 生成正确的 类
Unable to generate proper classes from xsd
我正在尝试从 Question.xsd 生成问题和标签 类。但我无法在问题中添加 2 个(或更多)标签。如果我这样做 <xs:element ref="schemas:Tag">
它会起作用(但会限制为添加一个标签)。如果我删除 <xs:element name="Tag">
并将名称放在 <xs:complexType >
而不是标签 node.But 中,生成的 ArrayOfTag 包含字符串列表而不是标签列表,它也会起作用。实现此目标的正确方法是什么?
<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 设为一个元素,而是将其设为 complextype,这样您就可以在任何需要 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>
我正在尝试从 Question.xsd 生成问题和标签 类。但我无法在问题中添加 2 个(或更多)标签。如果我这样做 <xs:element ref="schemas:Tag">
它会起作用(但会限制为添加一个标签)。如果我删除 <xs:element name="Tag">
并将名称放在 <xs:complexType >
而不是标签 node.But 中,生成的 ArrayOfTag 包含字符串列表而不是标签列表,它也会起作用。实现此目标的正确方法是什么?
<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 设为一个元素,而是将其设为 complextype,这样您就可以在任何需要 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>