gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 10:57:31 27 4
gpt4 key购买 nike

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

所以起初我尝试使用以下方法从 XSD 创建数据集结构:

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

但它抛出一个错误:DataSet 不支持“联合”或“列表”作为简单类型

接下来我尽量避免加载 XSD,所以我直接加载源 XML 文件:

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

但它引发了另一个错误 - 继承其命名空间的嵌套表“Point”不能在不同的命名空间中有多个父表。

你能帮我解决这个问题吗?非常感谢!

顺便说一句:XML 是有效的,我也尝试了 XSD2DB、xsd.exe、svcutil,但没有任何进展

最佳答案

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

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

关于c# - 如何解决数据集错误 - 数据集不支持 'union' 或 'list' 作为 simpleType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18921131/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com