突出显示两个XML文档之间的差异,从结构差异开始

时间:2014-10-02 12:20:10

标签: xml algorithm diff

(这里的一些例子是PHP,但问题是通用的)

基本上,XML文档是MIME text/plain的特化,是人类可读的字符串。使用DOM我们也可以通过C14N等对两个字符串进行规范化。所以一个好的起点是solutions of this question ...对于类似的XML文档是合理的:对于非类似的文档,这些工具(如UNIX diff等)会产生难看且难以理解的结果。

XML的一个简单解决方案是首先比较它的树,一个"目录" ({3}}生成的(ToC)。例如:

<root><h1>hello</h1><p>text1</p><p>text2</p><h1>bye</h1></root>

拥有&#34; ToC&#34; XPath&#39; es

root
root/h1[1]
root/h1[1]/p[1]
root/h1[1]/p[2]
root/h1[2]

因此,如果结构不同,我们不需要比较所有元素的内容以显示不同,ToC的差异显示它。

问题:有一些&#34;差异工具&#34; 在&#之前执行此&#34; ToC diff&#34; 34;通常的差异&#34;?

0 个答案:

没有答案