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

How to compare two XMLs and display their differences on a webpage?

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

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

我们正在尝试将其自动化,并在网页上显示差异(可能是 Beyond Compare 的屏幕截图)。

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

还有其他工具吗?

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

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

谢谢。

你应该看看node-xml-compare and 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);

});

您可以在 Beyond Compare 中自动进行比较,然后使用 BC 内置的 command-line 脚本功能将比较输出为 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 > ScriptsScripting Reference 主题,了解有关脚本的更多信息。