我创建了一个 XSD 并在该 .xsd 文件之上运行 XSD.exe。似乎我的仅限于枚举值的简单类型没有在输出的 .cs 文件中生成为枚举。
例如,我的 xsd 如下所示:
<xs:element name="ItemList" nillable="false">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element name="Item" type="ItemType" minOccurs="1" maxOccurs="unbounded" nillable="false">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="ItemType">
<xs:sequence maxOccurs="1" minOccurs="1">
<!-- other complex types, etc... -->
</xs:sequence>
<xs:attribute name="Market" type="MarketType" use="required">
</xs:attribute>
<xs:attribute name="Category" type="CategoryType" use="required" />
</xs:complexType>
<xs:simpleType name="CategoryType">
<xs:restriction base="xs:string">
<xs:enumeration value="Mild" />
<xs:enumeration value="Hot" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MarketType">
<xs:restriction base="xs:string">
<xs:enumeration value="Weak" />
<xs:enumeration value="Strong" />
</xs:restriction>
</xs:simpleType>
当我运行 XSD.exe 时,输出的 .cs 文件不应该对我的每个简单类型都有一个 xml 枚举属性吗? 这个链接说它应该。也许我做错了什么?在我的 .cs 文件中没有看到枚举。
如果您需要更多信息,请告诉我我能提供什么。
谢谢。
更新:
似乎我正在使用 XSD.exe 创建数据集(/d 开关),而我应该创建一个类(/c 开关)。在我设置它生成一个类后,它工作正常。