【问题标题】:Comparing (sorted) XMLs using Beyond Compare (script) and Generate Report使用 Beyond Compare(脚本)比较(排序)XML 并生成报告
【发布时间】:2011-06-21 08:10:23
【问题描述】:

我们必须比较两个不同的响应 (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 Sort 格式。但我不知道如何使用 XML Sort 对 XML 进行排序然后生成报告。

请帮忙。

【问题讨论】:

    标签: xml scripting comparison beyondcompare beyondcompare3


    【解决方案1】:

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

    • 以该用户身份再次安装
    • 将 %AppData% 目录中的 BCFileFormats.xml 复制到相关用户
    • 创建便携式 BC 安装(安装程序具有该选项)、设置它并使用它而不是标准安装运行计划任务

    【讨论】:

    • 您能详细说明一下您推荐的这个解决方案吗?
    • @Ramiz 再次运行 BC3 安装程序并选择“创建便携式安装”。运行便携式副本,重新导入 XML 排序文件格式,然后更改您的计划任务,使其使用便携式副本而不是标准副本运行。如果这没有帮助,您应该发送电子邮件至 support@scootersoftware.com;支持人员可能有更多想法。
    猜你喜欢
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多