如何在C#中比较2个xml文件并输出我想要的格式的差异?

时间:2015-06-12 20:10:22

标签: c# xml compare

我有2个xml文件想要使用C#进行比较。 2 xml可能按不同的顺序

文件1:

<PartPriceInfo xmlns:ns1="http://www.Car.com">
   <ns1:Car model="Legacy">
      <ns1:Muffler> 1 </ns1:Muffler>
      <ns1:Bumper> 2 </ns1:Bumper>
   </ns1:Car>
   <ns1:Car model="Outback">
      <ns1:Muffler> 3 </ns1:Muffler>
      <ns1:Bumper> 4</ns1:Bumper>
   </ns1:Car>
   <ns1:Car model="FullSize">
      <ns1:Muffler> 5 </ns1:Muffler>
      <ns1:Bumper> 6 </ns1:Bumper>
   </ns1:Car>
</PartPriceInfo>

file2的:

<PartPriceInfo xmlns:ns1="http://www.Car.com">
   <ns1:Car model="Outback">
      <ns1:Muffler> 3 </ns1:Muffler>
      <ns1:Bumper> 5</ns1:Bumper>
   </ns1:Car>
   <ns1:Car model="Legacy">
        <ns1:Muffler> 1 </ns1:Muffler>
        <ns1:Bumper> 2 </ns1:Bumper>
   </ns1:Car>
   <ns1:Car model="MidSize">
      <ns1:Muffler> 7 </ns1:Muffler>
      <ns1:Bumper> 8 </ns1:Bumper>
   </ns1:Car>
</PartPriceInfo>

我的预期结果如下所示我需要所有状态,例如“已更新”,“已添加”,“已删除”以及其中的特定信息。

<ns1:status= "Updated">
    <ns1:Car model="Outback">
        <ns1:Muffler> 5</ns1:Muffler>
    </ns1:Car>
</ns1:status>
<ns1:status= "Deleted">
<ns1:Car model="FullSize">
    <ns1:Muffler> 5 </ns1:Muffler>
    <ns1:Bumper> 6 </ns1:Bumper>
</ns1:Car>
</ns1:status>
<ns1:status= "Added">
    <ns1:Car model="MidSize">
        <ns1:Muffler> 7 </ns1:Muffler>
        <ns1:Bumper> 8 </ns1:Bumper>
    </ns1:Car>
</ns1:statues>

有没有人知道如何在C#中执行此操作?任何帮助将不胜感激。

0 个答案:

没有答案