目前我遇到了从重复元素的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