3

我需要比较两个 XML 块:

<elem type="p:type1" xmlns:p="myns" />

<elem type="g:type1" xmlns:g="myns" />

一旦我们看到type属性是 QName 而不仅仅是字符串,它们在语义上是等价的。提供架构后,是否有可以进行此类比较的工具?另外,有这样的API吗?

4

3 回答 3

1

您可以从 MSDN 文章“在您的应用程序中使用 XML Diff and Patch Tool ”下载Xmldiffpatch.exe工具

于 2011-12-15T09:31:43.920 回答
1

可能有很多工具可以做到这一点,其中之一是 Xml Diff 和 Path,通过MS XML 下载

Microsoft XML Diff and Patch 实用程序可用于比较两个 XML 文档,然后用差异修补原始文档,以创建最终文档。该实用程序可以检测结构变化(例如 XML 子树的移动),并且可以创建描述两个 XML 文档之间差异的 Xml Diff Language Diffgram(XDL diffgram 或只是 diffgram)。然后可以使用 diffgram 显示这些差异或使用 XML Patch 工具执行补丁。

XML Diff 执行 XML 文档的基于 XML 的比较,而不是普通的词法比较。因此,它

忽略订单属性。忽略无关紧要的空白。不区分空元素 () 和没有内容的元素 ()。不关心文档编码。

这些工具可通过 cmd 行和 API 使用。

于 2009-06-06T15:30:38.423 回答
0

同时,diff/patch 语言XML Patch已被指定并弃用 Microsoft XML Diff。看看这个问题以获取可能的工具。特别是xmldiff似乎可以在 XML 文档之间进行适当的比较。

于 2021-12-14T16:44:57.253 回答