比较XML文件并生成仅包含差异的输出

时间:2011-09-19 01:05:31

标签: c# xml diff

我想生成一个包含两个XML文件之间差异的XML文件。应忽略已删除的元素,文件之间的元素可能是随机顺序。

Microsoft XML Diff tool会产生差异,但我宁愿拥有实际的XML元素。 XML Diff Tool中的XMLPatch不适用,因为它在源XML上应用diff来生成我们用来生成diff的确切文件。

source.xml actual.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>

我该如何实现?

1 个答案:

答案 0 :(得分:0)