2011-09-19 102 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> 

我如何能實現呢?

回答