XML序列化与反序列化

来源:互联网 发布:曹云金 知乎 编辑:程序博客网 时间:2024/04/27 21:44

参考帖子:

http://www.cnblogs.com/yukaizhao/archive/2011/07/22/xml-serialization.html

http://blog.csdn.net/wem520/article/details/9192415

摘要

1、初始化XmlSerializer对象时最好使用下面两个构造函数否则会引起内存泄漏。
XmlSerializer(Type)
XmlSerializer.XmlSerializer(Type, String)

2、XmlSerializer不支持Dirctionary<>类型的对象

3、需要序列化的字段必须是公共的(public)

4、需要序列化的类都必须有一个无参的构造函数

5、不可赋null值的字段,反序列化时一定要有值,否则反序列化报错

比如有一个int字段count,反序列化的时候是<count></count>就会报错

6、用XmlRoot限定序列化之后的xml文本的根节点,默认类名就是根节点名,也可以用XmlRoot自己指定

7、用XmlAttribute给序列化之后的xml节点添加属性

8、用XmlElement限定字段为序列化之后的xml文本的子节点,类的字段默认就是子节点,可以用XmlElement自己指定节点名

9、用XmlIgnore限定字段在序列化的时候忽略掉


最后附上一个小小的练习程序:http://pan.baidu.com/s/1qYVnTLy

0 0