我需要比较 2 个 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>
您可以将xml加载到两个数据集中,合并它们并将新元素视为它们之间的差异。
https://msdn.microsoft.com/en-us/library/aa984388(v=vs.71).aspx
http://www.codeproject.com/Articles/30102/Comparing-DataSets-using-LINQ
您可以通过使用 XmlDocument 或 XDocument 将 XML 文件转换为对象来实现自己的比较器。然后,您可以使用 IEquatable.Equals()
比较两个对象。查看此答案 C# XML 差异算法