在c#asp.net中比较两个xml数据并获得另一个xml中的差异

在c#asp.net中比较两个xml数据并获得另一个xml中的差异,c#,asp.net,xml,compare,C#,Asp.net,Xml,Compare,我需要比较两个xml文件,并在第三个xml文件中写入差异(新添加的行)。 xml文件具有查询的结果。我发现了许多第三方工具,但这些工具并不适用于这种情况。任何建议都会有帮助 xml1 <root> <rdm> <Model> aa</model> </rdm> <rdm> <Model> bb </Model> </rdm> </root> xml2 <root&g

我需要比较两个xml文件,并在第三个xml文件中写入差异(新添加的行)。 xml文件具有查询的结果。我发现了许多第三方工具,但这些工具并不适用于这种情况。任何建议都会有帮助

xml1

<root>
<rdm>
<Model> aa</model>
</rdm>
<rdm>
<Model> bb </Model>
</rdm>
</root>

xml2

<root>
<rdm>
<Model> aa</model>
</rdm>
<rdm>
<Model> bb </Model>
</rdm>
<rdm>
<Model>cc</Model>
</rdm>
</root>

 The xml3 should look like 
<root>
<rdm>
<Model>cc</Model>
</rdm>
</root>
xml1
aa
bb
xml2
aa
bb
复写的副本
xml3应该看起来像
复写的副本

< /代码> 可以将XML加载到两个数据集中,合并它们,并将新元素视为它们之间的差异。


您可以通过使用XmlDocument或XDocument将XML文件转换为对象来实现自己的比较器。然后可以使用
IEquatable.Equals()
比较两个对象。请参见此答案

GetChanges()不返回新添加的行。它正在返回第一个数据集中的原始数据。“合并”中有我不想要的重复项。