我在两个独立的服务器上运行XML请求(测试和生产)并比较XML响应(消息有效负载)。
我们手动比较Beyond Compare等工具的回复,并看到突出显示的差异。
我们正在尝试自动执行此操作,并在网页上显示差异(可能是Beyond Compare的屏幕截图)。
我们能否以某种方式将比较工具保留在服务器上并从那里截取屏幕截图并显示在网页上?或
还有其他工具吗?
或唯一的方法是从用户的机器触发比较工具。
请建议正确的方法或指向文档。
谢谢。
答案 0 :(得分:2)
您应该查看node-xml-compare
和sax.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帮助文件中的脚本和脚本参考主题有关脚本编写的更多信息。