从两个 XmlSerializer 输出获取增量

发布于 2024-12-28 20:34:58 字数 380 浏览 1 评论 0原文

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

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);

谢谢。

I'm writing an audit log that saves the delta between two serialized objects of the same type. Is there a way to easily prune out nodes that have the same value and leave the ones that changed?

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);

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

雨轻弹 2025-01-04 20:34:58

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

http://msdn.microsoft.com/en-us/library/aa302294.aspx 基本上,

您将使用该工具来确定应该从两个项目中删除哪些内容,然后从那里开始。

Microsoft provides a tool 'XMLDiffPatch' that is pretty easy to use, and will provide the output that you are looking for. Here is a handy little guide for it.

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

Basically you will use the tool to identify what you should drop out from your two items and then go from there.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文