xml - 如何比较 XML 文件

标签 xml diff

我有两个由某些工具生成的 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/

相关文章:

algorithm - 判断多用户编辑文本 "Owner"

git diff 不创建临时文件

android - 如果您有数组名称,如何在 string.xml 中获取字符串数组的 ID

javascript - 让 XML 以 HTML 形式显示

java - 如何更新/插入 XML 文件中现有节点的数据?

sql-server - Sql - FOR XML 路径查询问题

java - 是否可以在父标签和子标签中写入 XMLSchema-instance?

javascript - 使用 JavaScript 对用户响应进行评分(比较两个数组)

arrays - Bash中两个数组的比较/差异

git - 我可以强制 git 将更改视为一个整体吗?