逻辑上比较两个 xml 文件的实用程序?

Mat*_*hew 8 xml

现在我们正在尝试为我们的环境构建黄金配置。我们使用的一个软件依赖于大量XML文件来包含其大部分配置。我们希望采用我们的实验室环境,将其编目为我们的“黄金配置”,然后能够在未来针对该配置进行审核。

由于 diff 是逐字节比较而不是逻辑比较,因此在这种情况下我们不能使用它来比较文件(XML是无序的,所以它不起作用)。我正在寻找的是可以解析这两个XML文件并逐个比较它们的东西。到目前为止,我们还没有找到任何可以做到这一点的实用程序。操作系统无关紧要,我可以在任何可以工作的地方进行。偏好是现成的。

有任何想法吗?

编辑:我们遇到的一个问题是一个供应商的配置文件偶尔会多次提到同一个元素,每次都有不同的属性。我们使用的任何差异实用程序都需要能够识别一组属性或将它们全部识别为一个元素的一部分。艰巨的任务 :)

Chr*_*ava 0

有一些“XML 感知”的商业免费工具可以毫不费力地满足您的需要。显然还有一个Eclipse 插件可以比较 XML。

或者,您可以通过xsl:sort或通过在 XSD 中指定序列顺序(这将使任何现有文档根据定义无效)来完成对字段的排序。然后,在与不支持 xml 的 diff 工具进行比较之前,对这两个文档进行“规范化”。规范化首先消除任何不影响 XML 实际内容的格式差异。(将其视为应用 XML 代码样式过滤器。)