2

我们必须比较两个不同的响应 (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 进行排序然后生成报告。

请帮忙。

4

1 回答 1

2

安装 XML 排序规则后,它应该出现在文件格式列表的顶部,并且应该自动使用。如果不是,您是否以安装格式的同一用户身份运行计划任务?如果不是,则:

  • 以该用户身份再次安装
  • 将 %AppData% 目录中的 BCFileFormats.xml 复制到相关用户
  • 创建便携式 BC 安装(安装程序有该选项),设置它,并使用它而不是标准安装运行计划任务
于 2011-06-21T15:56:13.070 回答