如何比较两个XML文件的差异?

时间:2012-02-15 21:20:07

标签: c# xml

我想比较两个xml原始文件并捕获它们在数据中的差异。例如,

    <Segment>
      <SegNum>2</SegNum>
      <Dt>20110910</Dt>
      <Comment>B test</Comment>
    </Segment>
  </Retrieve>
</info>

档案B:

<info>
  <Retrieve>
    <LastNameInfo>
      <LNameNum>2</LNameNum>
      <NameType/>
      <LName>TESTING</LName>
    </LastNameInfo>
    <Segment>
      <SegNum>1</SegNum>
      <Status>HS</Status>
      <Comment>A test</Comment>
    </Segment>
    <Segment>
      <SegNum>2</SegNum>
      <Dt>20110</Dt>
      <Comment>COULD I USE LINQ</Comment>
    </Segment>
  </Retrieve>
</info>

所以我需要的输出应该只是一个像

这样的差异的文件
              <LNameNum>1</LnameNum> File 2:<Lnamenum>2</Lnamenum>

2 个答案:

答案 0 :(得分:2)

有一个库(和工具),XML Diff and Patch,一段时间后发布到MSDN。

答案 1 :(得分:0)

我过去曾使用过XmlDiff类。最后检查,它仍然适用于框架4.0。 http://msdn.microsoft.com/en-us/library/aa302295.aspx