是否可以使用 XmlSerializer 将其数据反序列化为类的现有实例而不是新实例?
这在两种情况下会很有帮助:
- 轻松地将两个 XML 文件合并到一个对象实例中。
- 让对象构造器本身成为从 XML 文件加载其数据的构造器。
如果默认情况下不可能,则应该通过使用反射来工作(在反序列化后复制每个属性),但这将是一个丑陋的解决方案。
基本上,你不能。XmlSerializer
是严格的建设性的。您可以做的唯一有趣的事情是定制XmlSerializer
是为了实施IXmlSerializable
并自己做所有事情 - 这不是一个有吸引力的选择(它仍然会使用默认构造函数等创建新实例)。
Is xml
严格要求?如果您可以使用不同的格式,protobuf网络 http://code.google.com/p/protobuf-net/支持将片段合并到现有实例中,如下所示:
Serializer.Merge(source, obj);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)