Получить дельту из двух выходов XmlSerializer - PullRequest
0 голосов
/ 23 января 2012

Я пишу журнал аудита, который сохраняет дельту между двумя сериализованными объектами одного типа.Есть ли способ легко удалить узлы с одинаковым значением и оставить те, которые изменились?

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 голосов
/ 23 января 2012

Microsoft предоставляет инструмент «XMLDiffPatch», который довольно прост в использовании, и предоставит результат, который вы ищете.Вот небольшое удобное руководство для этого.

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

В основном вы будете использовать инструмент, чтобы определить, что вы должны выпустить из ваших двух предметов, а затем перейти оттуда.

...