如何比较两个XML并在网页上显示它们的差异?

时间:2017-02-14 05:55:51

标签: jquery html python-2.7 beyondcompare3

我在两个独立的服务器上运行XML请求(测试和生产)并比较XML响应(消息有效负载)。

我们手动比较Beyond Compare等工具的回复,并看到突出显示的差异。

我们正在尝试自动执行此操作,并在网页上显示差异(可能是Beyond Compare的屏幕截图)。

我们能否以某种方式将比较工具保留在服务器上并从那里截取屏幕截图并显示在网页上?或

还有其他工具吗?

或唯一的方法是从用户的机器触发比较工具。

请建议正确的方法或指向文档。

谢谢。

2 个答案:

答案 0 :(得分:2)

您应该查看node-xml-comparesax.js

var xmlcompare = require('node-xml-compare');

xml1 = "<sample><a>1</a><a>2</a><a>4</a><b>4</b></sample>";
xml2 = "<sample><a>2</a><a>1</a><a>3</a><c>3</c></sample>";

xmlcompare(xml1, xml2, function(result) {

    console.log('result', result);

});

答案 1 :(得分:1)

您可以在Beyond Compare中自动进行比较,然后使用BC内置的命令行脚本功能将比较输出为HTML报告。

脚本:

file-report layout:side-by-side options:ignore-unimportant,display-mismatches output-to:"%3" "%1" "%2"

@字符使Beyond Compare将文件作为脚本运行,而不是加载它以进行交互式比较。

命令行:

"c:\program files\beyond compare 4\bcompare.exe" @c:\script.txt c:\file1.xml c:\file2.xml c:\report.html

参见使用Beyond Compare&gt; Beyond Compare 4帮助文件中的脚本脚本参考主题有关脚本编写的更多信息。