自动格式和Diff XML

时间:2012-07-26 21:02:42

标签: xml diff

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

问题是xml文件没有格式化,并且都在一行中。我找到的常规diff工具无法自动格式化它们。

我想知道是否有任何工具可以执行此操作(需要能够在命令提示符中调用)。 要么 是否有一个自动格式化程序,我可以在命令提示符下调用,以便我之后调用diff工具。

谢谢!

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

xmllint --format file.xml > formatted_file.xml

xmllint --c14n file.xml > canonicalized_file.xml

答案 2 :(得分:0)

在命令行上使用tidy和diff,如下所示:

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

您可能希望在tidy-commands中添加-indent。