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

本文关键字:文件 XML 两个 何比较 比较 | 更新日期: 2023-09-27 18:24:40

我想比较两个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>

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

有一个库(和工具),XMLDiffandPatch,不久前发布到MSDN,可以做到这一点。

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