1

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

我们手动比较 Beyond Compare 等工具的响应,并突出显示差异。

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

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

还有其他可能的工具吗?

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

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

谢谢你。

4

2 回答 2

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);

});
于 2017-02-14T06:02:16.383 回答
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 4 帮助文件中的Using Beyond Compare > 脚本脚本参考主题。

于 2017-02-14T16:27:20.367 回答