XmlSerializer可实现对象与XML互转,需类有公共无参构造函数及可读写public成员;支持XmlElement[XmlIgnore]等特性控制序列化行为,反序列化需XML结构匹配目标类型。

在C#中,用 XmlSerializer 类就能轻松把对象转成XML(序列化),也能把XML还原成对象(反序列化)。关键是要让类支持XML序列化——比如加必要的特性、保证字段/属性可访问。
序列化对象为XML字符串
使用 XmlSerializer 将实例写入 StringWriter,即可获得XML文本。注意:被序列化的类必须有公共无参构造函数,要序列化的字段或属性需是 public 且可读可写。
- 给类加上
[Serializable]不是必须的(XmlSerializer不依赖它) - 用
[XmlElement]可自定义节点名,[XmlAttribute]可把属性序列化为XML属性 - 用
[XmlIgnore]跳过某个字段/属性不参与序列化
反序列化XML字符串为对象
把XML字符串加载进 StringReader,再用 XmlSerializer.Deserialize() 还原为对象。XML结构必须和目标类型匹配,否则会抛出异常。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~