如何解决数据集错误 - DataSet不支持'union'或'list'作为simpleType

时间:2013-09-20 16:03:35

标签: c# xml xsd dataset readxml

我需要将一些XML(似乎是XML complitated结构)转换为C#数据集。

所以一开始我尝试用XSD创建数据集结构:

ds.ReadXml(@"D:\data_RUIAN\ruian\xsd\vymenny_format\VymennyFormatTypy.xsd", XmlReadMode.Auto);

但它是一个恐怖的: DataSet不支持'union'或'list'作为simpleType

接下来我尝试避免加载XSD,因此我直接加载源XML文件:

ds.ReadXml(@"D:\data_RUIAN\data\20130831_OB_577405_UKSH.xml", XmlReadMode.Auto);

但它是另一个错误 - 继承其名称空间的嵌套表'Point'在不同的名称空间中不能有多个父表。

请你能帮我解决这个问题吗? Tahnks很多!

顺便说一下:XML是有效的,我尝试过XSD2DB,xsd.exe。,svcutil但是没有进展

1 个答案:

答案 0 :(得分:2)

转换为数据集时充满了限制。有些可能通过重构XSD而被绕过(例如通过删除联合和简单类型)。 This section on MSDN提供了一般信息:推理过程。

答案还取决于您计划如何填写数据集,以及您是否还想从数据集中生成符合某些规范的XML。例如,您可以在推断集合时选择忽略XML名称空间(请参阅DataSet.InferXmlSchema),这可能会解决嵌套表错误。