我们必须比较两个不同的响应 (XML),但它们正在执行相同的业务流程。问题是我们正处于从大型机技术迁移到 Microsoft BizTalk 技术的过程中。大型机为超过 54 个客户端(桌面、Web、Web 服务)提供服务。Mainframe 和 Microsoft BizTalk Server 都接受类似的请求,并且应该做出类似的响应。请求和响应格式为 XML。
正如我所说的,54 个系统通过 Mainframe 连接,我们决定并行运行 Microsoft Server,这意味着无论 Mainframe 收到什么请求,它的副本也将传递给 Microsoft BizTalk Server。而且,我们将来自两个服务器的每个响应的副本保存在一个物理位置。
现在,我们必须比较两个响应(XML)并生成差异报告(HTML 和 XML)。为此,我们使用 Beyond Compare 3 (Pro)。由于此比较过程必须按计划进行,因此我们通过 Beyond Compare Scripting 进行此操作。假设,我们必须让 Beyond Compare 每隔一小时运行一次比较。设计了一个小型应用程序来安排此操作并运行 Beyond Compare 脚本,如下所示:
#compare the text contents of the files
criteria rules-based
#only compare delphi source files, ignore the archive folder
filter "*.xml;*.xsd;*.xsl"
load "F:\SE Response Folder\04\013-07" "F:\MF Response Folder\ProcessedFolder\04\013-07"
#expand to affect subfolders and files
expand all
#select updated files
select lt.diff.files rt.diff.files
#generate a report of the differences
file-report layout:xml options:display-mismatches output-to:C:\report123.xml
此脚本中的问题是必须对 XML 进行排序然后进行比较。我们如何在比较之前对 XML 进行排序?我已经从 ScooterSoftware 下载部分下载了XML 排序格式。但我不知道如何使用 XML Sort 对 XML 进行排序然后生成报告。
请帮忙。