目前我遇到了從重複元素的xsd生成類文件的問題。我在VS2005 SP1中使用自定義工具'MsDatasetGenerator',從cs的xsd創建一個類型化的數據集。我想通過這個模式XSD類生成嵌套表問題
<?xml version="1.0" encoding=\"utf-8\"?>
<xs:schema id="XSDobject" targetNamespace="http://tempuri.org/XSDobject.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XSDobject.xsd" xmlns:mstns="http://tempuri.org/XSDobject.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="order">
<xs:complexType>
<xs:sequence>
<xs:element name="contact">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="phone" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="buyer">
<xs:complexType>
<xs:sequence>
<xs:element name="contact">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="phone" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
解析XML,但我得到以下錯誤「同桌‘接觸’不能是子表在兩個嵌套關係。「
XSD編譯正確,但它是無法處理重複表的類型化數據集。現在我已經測試了xsd.exe工具,但它似乎生成了與msdatasetgenerator相同的代碼。我還嘗試了一些第三方代碼生成工具,如XSD2Code,CodeXS,AltovaXmlSpy,但我也無法讓它與嵌套元素一起工作。
另外我可以解決xslt轉換在輸入和輸出的問題,但它會花費我很多的性能。
所以現在我問是否有人可以幫助我一個很好的VS2005解決方案,或知道可以解決這個問題的好的xsd類生成器。如果它作爲一個數組或列表工作,它不一定是一個類型化數據集,只要序列化和反序列化它都很容易。
在此先感謝 Freggel