gpt4 book ai didi

c# - 根据定义的模式重新排序 XML 节点

转载 作者:数据小太阳 更新时间:2023-10-29 02:32:48 27 4
gpt4 key购买 nike

我正在将几个 .xml 文件合并在一起,并且需要从每个 .xml 文档中提取某些子元素并将它们放入第 3 个文件中。没关系,但问题是我的“子”节点有点随机(好吧,我从第一个文件中选择了什么,然后是我从第二个文件中选择的),以及模式文件(.xsd ) 将这些 child 定义为“序列”或 xs:sequence(如果您愿意)。因此输出文件不再通过验证,因为虽然每个文件都有其元素的顺序,但生成的文件却没有。

我想知道的是,因为我有 .xsd,而且我有一个“大部分”有效的 .xml 文件,在 C# 中是否有任何方法可以根据在 .xsd 中定义的顺序没有很多痛苦?显然我可以实现一种“排序”,但我希望有一些内置的东西。或者更好的是,自动执行此操作的内置合并也可以工作。

有什么想法吗?

最佳答案

查看要求,是否可以选择让 XSD 模型指导您?

您会将 XSD 加载到 XmlSchema 类中。现在你可以得到模型了。通过遍历模式节点的子节点,您将保证排序。所以,基本上

  • 从 3 个子文档中收集节点并将它们放入工作文档(还不是目标文档)。
  • 运行模式定义的结构以构建目标文档
  • 根据模式节点的顺序(按元素名称/命名空间-uri)从工作文档中选择节点,并将它们放入最终目标文档中

希望对您有所帮助,

关于c# - 根据定义的模式重新排序 XML 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2150822/

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