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

本文关键字:包含差 输出 XML 文件 比较 | 更新日期: 2023-09-27 18:08:53

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

Microsoft XML Diff工具生成Diff图,但我宁愿使用实际的XML元素。来自XML Diff Tool的XMLPatch不合适,因为它在源XML上应用Diff图来生成我们用来生成Diff图的确切文件。

比较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>

我如何实现这个?

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

从c-sharpcorner查看这篇文章:

使用LINQ to XML和LINQ to Objects的XML Diff和Patch

编辑:这是链接:http://www.c-sharpcorner.com/UploadFile/tjayram/XMLDiffAndPatchUsingLINQ07262009125026PM/XMLDiffAndPatchUsingLINQ.aspx

具体任务4