C#怎么序列化对象为XML C# XML序列化与反序列化方法

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

C#怎么序列化对象为XML C# XML序列化与反序列化方法-第1张图片-佛山资讯网

在C#中,用 XmlSerializer 类就能轻松把对象转成XML(序列化),也能把XML还原成对象(反序列化)。关键是要让类支持XML序列化——比如加必要的特性、保证字段/属性可访问。

序列化对象为XML字符串

使用 XmlSerializer 将实例写入 StringWriter,即可获得XML文本。注意:被序列化的类必须有公共无参构造函数,要序列化的字段或属性需是 public 且可读可写。

  • 给类加上 [Serializable] 不是必须的(XmlSerializer 不依赖它)
  • [XmlElement] 可自定义节点名,[XmlAttribute] 可把属性序列化为XML属性
  • [XmlIgnore] 跳过某个字段/属性不参与序列化

反序列化XML字符串为对象

把XML字符串加载进 StringReader,再用 XmlSerializer.Deserialize() 还原为对象。XML结构必须和目标类型匹配,否则会抛出异常。

标签: js json 常见问题 c# yy

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~