【问题标题】:XML (De-)Serialization in .NET Framework 4.5.NET Framework 4.5 中的 XML(反)序列化
【发布时间】:2014-01-29 13:25:38
【问题描述】:

在 .NET 框架 4.5 中,将一组定义的类序列化/反序列化到 XML 和从 XML 序列化/反序列化的选项有哪些,它们各自的优点/缺点是什么?

可能有适用于框架 4.5 的答案,但我无法通过搜索找到答案。

【问题讨论】:

    标签: c# .net xml xml-serialization


    【解决方案1】:

    您的意思是与旧的 .NET fwk 版本相比有哪些选项?我记得一直有 System.Xml.Serialization.XmlSerializer 类,它允许序列化/反序列化对流的任何调用。您可以使用属性装饰序列化类以自定义输出 XML。

    【讨论】:

    • 我要求 4.5 中的所有选项。至少有 XMLSerializer、DataContractSerializer 和一直流行的“roll-your-own”。我在问它们各自的优势是什么,以及存在哪些其他替代方案,其中可能包括流行的 3rd 方库。
    • DataContractSerializer 从 .net 3 开始就已经存在,所以它也不是什么新鲜事。无论如何,XmlSerializer 和 DataContractSerializer 之间的主要区别在于,首先,DataContractSerializer 不支持属性(这使得它对一般用途毫无用处),其次,它仅序列化标记有 DataMember 属性的属性,而 XmlSerializer 序列化所有公共属性,除了那些用 XmlIgnore 属性标记的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    • 1970-01-01
    • 2016-04-11
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多