网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > DotNet > XML&Web > 如何使用XmlSerializer类控制串行化  

如何使用XmlSerializer类控制串行化

2007-03-15  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

  

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

网管u家u.bitsCN.com

<?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使用的属性映射.

网管下载dl.bitscn.com



表B
网管论坛bbs_bitsCN_com

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 = ""; 中国网管联盟bitsCN.com
            if ( Movies != null )
                foreach ( Movie movie in Movies )
                    movies += " " + movie.ToString();

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

 


 

网管网www.bitscn.com

网管下载dl.bitscn.com


TAGs   控制   使用   如何       XML   <   Theater   属性   数据   对象      
 上一篇:XML Web services 基础结构   下一篇:使用XML为列表控件绑定数据
如何使用XmlSerializer类控制串行化 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: