有人可以为Solaris建议命令行xml差异工具吗?我想在回归测试脚本中调用一个,因此从命令行调用该工具并返回状态以指示文件是否包含任何差异非常重要。
该工具必须有一个忽略属性顺序的选项。
谢谢, 戴夫
答案 0 :(得分:2)
我遇到了这个问题并最终编写了自己的问题,因为我需要知道差异是什么[1]。如果您可以通过简单地了解预期XML和实际XML是否相同来进行管理,那么最简单的方法是将XML规范化为字符串并对字符串进行区分。
Canonicalization是XML工具包规范的一部分,它产生的字符串与属性顺序,引用类型,CDATA规范化等无关。
所有优秀的XML解析器都应具备此功能。我使用XOM(http://www.xom.nu)(Java),它具有规范化,易于使用。
[1]我的XML包含实数的表示,由于舍入错误,这些表示可能略有不同。简单的词法比较不起作用(x =“1.99999994”和x =“2”在词法上不相同,但在给定的epsilon中可能相等。)
答案 1 :(得分:0)
您可以尝试diffxml。属性顺序被忽略(根据XML规范)。