频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

如何使用XmlSerializer类控制串行化

来源:build.com.cn 作者: 出处:巧巧读书 2007-03-16 进入讨论组
下一页 1 2 3 

    人们一直高喊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>



表B中定义了一个Theater(电影院)类, 它包含了XmlSerializer使用的属性映射.

表B

using System;
using System.Xml.Serialization;

 namespace Articles.TechRepublic.XmlSerialization
{
    [XmlRoot( "theater" )]
    public class Theater
    {
        [XmlElement( "name" )]
        public string Name = "";

        [XmlElement( "phone" )]
        public string Phone = "";

        [XmlElement( "movie" )]
        public Movie[] Movies;

        public override string ToString()
        {
            string movies = "";
            if ( Movies != null )
                foreach ( Movie movie in Movies )
                    movies += " " + movie.ToString();

                    return String.Format( " ",
                    Name, Phone, movies );
        }
}

 


 

转载保留:http://www.qqread.com/xml-soap/s302006.html进入讨论组讨论。
下一页 1 2 3 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章