【问题标题】:Sort XML file based on XSD format in .Net在.Net中基于XSD格式对XML文件进行排序
【发布时间】:2010-08-04 13:29:45
【问题描述】:

我需要生成 XML、针对 XSD 进行验证以及(如果有效)将 XML 发送给第三方。

我的问题是,在我当前的情况下,以正确的顺序(如 XSD 定义的那样)生成 XML 文件的节点非常困难。编写代码以以正确的顺序手动添加节点将意味着大量代码,并且如果 XSD 发生更改(它有时会这样做)则需要更新

XSD 相当复杂,在序列和 complexTypes 中有许多元素引用和组。

很遗憾,我无法附上示例,因为 XSD(和 XML)被视为“公司机密”。

我想知道是否有一种方法可以根据 XSD 中的定义对 XML 中的节点进行排序?

任何人在.Net 世界或其他地方听说过或见过这样的功能吗?任何人都知道从哪里开始解决这个问题?

【问题讨论】:

    标签: .net xml sorting xsd


    【解决方案1】:

    如果不知道更多,这有点难以说,但这是我过去解决类似问题的方法。

    从控制台运行XSD.EXE,将其指向您的XSD 并使用类开关(您需要查看文档,但并不难)。这将生成一个与您的 XSD 匹配的 XmlSerializable 类。

    然后您将编写一些内容以将当前类转换为 XSD 类,然后序列化为 XML。

    【讨论】:

    • 这是一个令人着迷的方法,我希望我在开始这个项目时就知道它:) 然而,问题是我目前拥有将 xml 生成为 XDocument 的所有代码。我现在“只”需要对该 XML 进行排序以符合 XSD 定义
    猜你喜欢
    • 2020-11-12
    • 1970-01-01
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-23
    • 1970-01-01
    相关资源
    最近更新 更多