2011-09-19 66 views
1

我想生成一个包含两个XML文件之间差异的XML文件。应该忽略已删除的元素,并且文件之间的元素可能随机排列。比较XML文件并生成仅包含差异的输出

Microsoft XML Diff tool产生一个差异,但我宁愿有实际的XML元素。来自XML Diff工具的XMLPatch不适合,因为它将源文件的差异应用于生成我们用来生成差异文件的确切文件。

比较source.xmlactual.xml应该产生desired.xml

source.xml

<products> 
    <product> 
     <name>foo</name> 
     <price>10</price> 
    </product> 
    <product> 
     <name>bar</name> 
     <price>20</price> 
    </product> 
</products> 

actual.xml

<products> 
    <product> 
     <name>foo</name> 
     <price>15</price> 
    </product> 
    <product> 
     <name>bar</name> 
     <price>20</price> 
    </product> 
    <product> 
     <name>toto</name> 
     <price>30</price> 
    </product> 
</products> 

desired.xml

<products> 
    <product> 
     <name>foo</name> 
     <price>15</price> 
    </product> 
    <product> 
     <name>toto</name> 
     <price>30</price> 
    </product> 
</products> 

我如何能实现呢?

回答

相关问题