从两个XmlSerializer输出中获取delta

时间:2012-01-23 15:53:22

标签: c# xml-serialization

我正在编写一个审核日志,用于保存相同类型的两个序列化对象之间的增量。有没有办法轻松删除具有相同值的节点并保留更改的节点?

StreamWriter oldData = new StreamWriter();
StreamWriter newData = new StreamWriter();
XmlSerializer xmlOld = new XmlSerializer(typeof(MyClass));
XmlSerializer xmlNew = new XmlSerializer(typeof(MyClass));

xmlOld.Serialize(oldData, obj);
xmlNew.Serialize(newData, obj);

感谢。

1 个答案:

答案 0 :(得分:0)

Microsoft提供了一个非常容易使用的工具'XMLDiffPatch',它将提供您正在寻找的输出。这是一个方便的小指南。

http://msdn.microsoft.com/en-us/library/aa302294.aspx

基本上你会使用这个工具来确定你应该从这两件物品中剔除什么,然后从那里开始。