我有两个由某些工具生成的 XML 文件 (XSD)。
该工具不保留元素的顺序,因此尽管内容相同,但由于文件不同,将其作为文本进行比较会产生结果。
是否有一些工具可以在比较之前对元素进行排序并启用文档的文本比较?
当然需要递归排序。
数据示例:
文件A:
<xml>
<A/>
<B/>
</xml>
文件 B:
<xml>
<B/>
<A/>
</xml>
最佳答案
我遇到了类似的问题,最终发现:http://superuser.com/questions/79920/how-can-i-diff-two-xml-files
该帖子建议先进行规范的 XML 排序,然后再进行比较。如果您使用的是 Linux、Mac,或者如果您的 Windows 安装了 Cygwin 之类的东西,则以下内容应该适用于您:
$ xmllint --c14n FileA.xml > 1.xml
$ xmllint --c14n FileB.xml > 2.xml
$ diff 1.xml 2.xml
关于xml - 如何比较 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12176239/