1

我有两个 xml 文件,我想区分它们。

问题是 xml 文件没有格式化并且都在一行中。我发现的常规差异工具无法自动格式化它们。

我想知道是否有任何工具可以做到这一点(需要能够在命令提示符下调用)。或者是否有一个我可以在命令提示符下调用的自动格式化程序,以便之后我会调用 diff 工具。

谢谢!

4

3 回答 3

1

http://tidy.sourceforge.net/是一个很好的缩进 XML 的工具,所以比较容易区分。有一个带有 MinGW MSYS(或 Cygwin)的 GNU diff 工具的端口。WinMerge 是我个人比较喜欢的一个很好的图形差异工具。

于 2012-07-26T21:04:59.340 回答
0

命令行程序xmllint可以以不同的方式格式化和规范化您的 xml:

xmllint --format file.xml > formatted_file.xml

xmllint --c14n file.xml > canonicalized_file.xml
于 2012-11-14T14:54:35.837 回答
0

Use tidy and diff on the command-line like this:

diff <(tidy -q -xml file1.xml) <(tidy -q -xml file2.xml)

You might want to add -indent to the tidy-commands.

于 2015-05-13T16:05:56.140 回答