.NET 使 XML 串行化易如反掌
人们一直高 喊 XML 是解决系统互联问题的关键, 而.NET framework 也为处理 XML 数据提
供 了 许 多 不 同 的 类 库 . XmlDocument 类 能 让 你 像 处 理 文 件 一 样 处 理 XML 数 据 , 而
XmlReader, XmlWriter, 和 它 们 的 派 生 类 使 你 能 够 将 XML 数 据 做 为 数 据 流 处 理 .
XmlSerializer 则提供了另外的方法, 它使你能够将自己的对象串行和反串行化为 XML. 串行
化数据既能够让你像处理文件一样对数据进行随机存取, 同时又能够跳过你不感兴趣的元素.
在本文中, 将展示如何使用 XmlSerializer 类以及如何在你的类中添加属性来控制串行化过
程.
XmlSerializer
XmlSerializer 类存在于 System.Xml.Serialization 命名空间的 System.Xml.dll 中, 它用一种高
度松散耦合的方式提供串行化服务. 你的类不需要继承特别的基类, 而且它们也不需要实现
任何特别的接口. 相反的, 你只需要在你的类或者这些类的公共域以及读/写属性里加上自定
义的属性. XmlSerializer 通过相反映射读取这些属性并用它们将你的类和类成员映射到
XML 元素和属性.
将 XML 映射到对象
考虑表 A 中的 XML 语句, 哪一个正确的描述了一家电影院中上映的电影呢?
表 A
<?xml version="1.0" encoding="utf-8" ?>
<theater>
<name>The Camelot</name>
<phone>(888)665-2222</phone>
<movie minutes="120" stars="2">
<title>The Score</title>
<rating>R</rating>
<showing>16:15:00</showing>
<showing>19:05:00</showing>
<showing>21:40:00</showing>
</movie>
<movie minutes="100">
<title>Shrek</title>
<rating>PG-13</rating>
<showing>16:00:00</showing>
<showing>19:00:00</showing>
<showing>21:40:00</showing>
</movie>
</theater>
评论0
最新资源