我已經創建了一個XSD並且已經在該.xsd文件之上運行了XSD.exe。看來,我的簡單類型被限制爲枚舉值,並不是在輸出的.cs文件中生成爲枚舉。XSD.exe/dataset沒有從我的xsd文件創建枚舉
例如,我的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枚舉屬性? This link says that it should。也許我做錯了什麼?沒有我的.cs文件中的任何位置可以看到枚舉。
如果您需要更多信息,請告訴我可以提供什麼。
謝謝。
UPDATE:
看來,我是用XSD.EXE創建數據集(/ d開關),當我應該已經創建一個類(/ c開關)。在我設置它生成一個類後,它工作正常。
你的例子幫助我在它的情況下工作。之前,我有一個生成的字符串類型。在我添加一個'xmlns:tns =「mynamespace」'並且在屬性聲明中使用了'tns:'後,我產生了一個枚舉類型。 – 2015-05-07 19:05:06