如何从具有超过 1 个元素的 xsd 到 class 生成 .NET 4.0 classes?
How to generate .NET 4.0 classes from xsd with more than 1 element to class?
我正在按照这个问题 How to generate .NET 4.0 classes from xsd? 的解决方案来生成 C# 类。但不知何故它只生成第一个元素。有什么方法可以同时生成所有元素吗?
Xsd 文档如下所示:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="advice_file">
</xs:element>
<xs:element name="vendorMerchID" type="xs:string">
</xs:element>
</xs:schema>
你只得到 1 个元素的原因是 xml 必须始终有一个外部根节点才有效。令我惊讶的是,第二个节点完全被忽略了,没有抛出任何异常。
你的xsd代表以下xml
<advice_file/>
要同时拥有这两个元素,你需要这样写你xsd:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="myRoot">
<xs:complexType>
<xs:sequence>
<xs:element name="advice_file" type="xs:string"/>
<xs:element name="vendorMerchID" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
对于 xml 结构为:
<myRoot>
<advice_file/>
<vendorMerchID/>
</myRoot>
或者,如果您的 xml 是这样的:
<advice_file>
<vendorMerchID/>
</advice_file>
使用 xsd:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="advice_file">
<xs:complexType>
<xs:sequence>
<xs:element name="vendorMerchID" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我正在按照这个问题 How to generate .NET 4.0 classes from xsd? 的解决方案来生成 C# 类。但不知何故它只生成第一个元素。有什么方法可以同时生成所有元素吗?
Xsd 文档如下所示:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="advice_file">
</xs:element>
<xs:element name="vendorMerchID" type="xs:string">
</xs:element>
</xs:schema>
你只得到 1 个元素的原因是 xml 必须始终有一个外部根节点才有效。令我惊讶的是,第二个节点完全被忽略了,没有抛出任何异常。
你的xsd代表以下xml
<advice_file/>
要同时拥有这两个元素,你需要这样写你xsd:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="myRoot">
<xs:complexType>
<xs:sequence>
<xs:element name="advice_file" type="xs:string"/>
<xs:element name="vendorMerchID" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
对于 xml 结构为:
<myRoot>
<advice_file/>
<vendorMerchID/>
</myRoot>
或者,如果您的 xml 是这样的:
<advice_file>
<vendorMerchID/>
</advice_file>
使用 xsd:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="advice_file">
<xs:complexType>
<xs:sequence>
<xs:element name="vendorMerchID" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>