【发布时间】:2018-01-14 13:05:31
【问题描述】:
我想编写一个 C# 应用程序来比较两个 XML 文件的树结构。 IE。我不关心节点的内容,但前提是两个文件中使用了相同的标签(顺序无关紧要)。
然后我想输出仅在其中一个文件中找到的节点。
是否有可用于此目标的库?我想应该有,因为比较 XML 是一个已经实现很多次的功能。到目前为止,我只发现了看似过时的Microsoft Diff and Patch library,据我所知,它没有提供忽略节点内容的选项。使用似乎已经过时的库也感觉不对。
【问题讨论】:
-
也许,为您的文档创建一个 XML 模式并根据该模式验证两个文档是一个想法。如果您的用例更通用(成对的不同文档类型),也可能有一种方法可以从两个文档中的一个生成架构,然后根据它验证另一个...
-
@BitTickler 这听起来很有趣,我会试试这个方法!
-
当你说“看似过时”时,希望你认真测试一下。旧的东西可以完美地工作。
-
也许XNode.DeepEquals 方法可以帮助你。加载xml到
XElement,删除所有内容,然后使用。