我需要将一些XML(似乎XML兼容的结构)转换为C#数据集。
所以起初我尝试使用以下命令从 XSD 创建数据集结构:
ds.ReadXml(@"D:data_RUIANruianxsdvymenny_formatVymennyFormatTypy.xsd", XmlReadMode.Auto);
但它正在引起人们的注意:DataSet 不支持"联合"或"列表"作为简单类型
接下来,我尽量避免加载 XSD,因此我直接加载源 XML 文件:
ds.ReadXml(@"D:data_RUIANdata20130831_OB_577405_UKSH.xml", XmlReadMode.Auto);
但它又出现了另一个错误 - 继承其命名空间的嵌套表"Point"不能在不同的命名空间中有多个父表。
请问你能帮我解决这个问题吗?塔恩克斯很多!
顺便说一句:XML是有效的,我也尝试了XSD2DB,xsd.exe.,svcutil但没有进展
转换为数据集充满了限制。有些可以通过重构 XSD 来绕过(例如,通过删除联合和简单类型)。MSDN 的这一部分提供有关推理过程的一般信息。
答案还取决于您计划如何填写数据集,以及您是否还希望从应与某些规范匹配的数据集生成 XML。例如,在推断集合时,可以选择忽略 XML 命名空间(请参阅 DataSet.InferXmlSchema),这可能会解决嵌套表错误。