我正在尝试使用xmldiffpatch在两个xml文件之间创建一个diff文件。 XDocument.Compare(old.xml,current.xml,writer)创建一个xml' map'可用于将当前更改合并为旧更改。我想生成一个新的xml,只有当前和旧的差异。 https://msdn.microsoft.com/en-us/library/aa302294.aspx显示了合并的示例。如何映射'被解析以创建diff文件?有没有更好的方法来生成diff文件?
示例数据:
name是每个人的ID
old.xml
<root>
<person>
<name>joe</name>
<gender>m</gender>
<location>US</location>
</person>
<person>
<name>sally</name>
<gender>f</gender>
<location>CA</location>
</person>
<person>
<name>frank</name>
<gender>m</gender>
<location>UK</location>
</person>
</root>
的current.xml
<root>
<person>
<name>joe</name>
<gender>m</gender>
<location>US</location>
</person>
<person>
<name>sally</name>
<gender>f</gender>
<location>NZ</location>
</person>
<person>
<name>sue</name>
<gender>f</gender>
<location>MEX</location>
</person>
</root>
问题已通过创建人员类,将每个人节点转换为对象,创建两个人物对象列表然后使用List1.Except(list2).ToList()
进行比较来解决。