E库技术学院--您的网络技术顾问! 网站首页素材图片库设计原稿网页模板网站赏析下载中心明星图库E库论坛  
E库技术学院
设为首页
加入收藏
我要投稿
E库首页学院首页 ┊ 图形图象 ┊ 网页设计 ┊ 网络编程 ┊ 数据库 ┊ 服务器 ┊ 建站技术 ┊ 业界新闻 ┊ 作者专栏 ┊ 常用范文 ┊ 预留栏目
  当前位置:学院首页>>网络编程教程>>XML编程教程>>XML串行化数据基础
XML串行化数据基础
[ 来源: | 作者: | 时间:2006-4-27 21:54:03 | 浏览:人次 ]
收藏到新浪ViVi收藏到365KEY收藏到我摘 ┊ 双击滚屏 单击停止
 

  XML文档使用越来越普遍,我们常会把一些系统设置等文件用config或XML文档存文在程序目录下。.Net的串行化数据是一个很令人心动的技术,可以很方便地读取一定格式或保存成文件。下面做个简单了练习,对XML串行化作些初步了解。(注:我是在WINDOWS应用程序上做的练习,因怕建立ASP.NETA工程麻烦,下面一大堆东西。其实除了路径外,程序写法基本一致)。

  先编写一个需要串行化的类,该类是设置一个操作权限的设置文件

  using System;

  namespace Hellosea.WinModule.Account.Configuration
  {
      /// <summary>
      /// OperatePermissionSettings 的摘要说明。
      /// </summary>
      public class OperatePermissionSettings
      {
          public OperatePermissionSettings()
          { }

        public int SystemManage_Login;                    // 允许进入管理页面,为各管理角色所拥用的许可
        public int SystemManage_SystemSetting;        // 可以进行系统参数、安全等设置的许可

        public int UserManage_Enter;                    // 进入用户管理页面的许可
        public int UserManage_PurviewAssign;        // 可以分配或收回用户角色、许可等的权限
        public int UserManage_UserDelete;            // 可以中止用户帐号的许可
        public int UserManage_UserEdit;                // 可以编辑用户信息的许可
      }
  }


  串行化该类,并保存文件:

  private void button1_Click(object sender, System.EventArgs e)
  {
      // 建立操作权限类
      OperatePermissionSettings settings = new OperatePermissionSettings();
      settings.SystemManage_Login = 1;
      settings.SystemManage_SystemSetting = 2;
      settings.UserManage_Enter = 3;
      settings.UserManage_PurviewAssign = 4;
      settings.UserManage_UserEdit = 5;
      settings.UserManage_UserDelete = 6;

      // 文件流
      string filePath = Application.StartupPath + "\\OperatePermission.Config";
      FileStream fs = new FileStream(filePath, FileMode.Create);

      // 串行化数据
      XmlSerializer serializer = new XmlSerializer(typeof(OperatePermissionSettings));
      serializer.Serialize(fs, settings);

      // 关闭文件流
      fs.Close();
  }


  反串行化,从文件中读取数据

  private void button2_Click(object sender, System.EventArgs e)
  {
      OperatePermissionSettings settings = new OperatePermissionSettings();

      // 文件流
      string filePath = Application.StartupPath + "\\OperatePermission.Config";
      FileStream fs = new FileStream(filePath, FileMode.Open);

      // 反串行化数据
      XmlSerializer serializer = new XmlSerializer(typeof(OperatePermissionSettings));
      settings = (OperatePermissionSettings)serializer.Deserialize(fs);
            
      // 关闭文件流
      fs.Close();

      textBox1.Text = settings.SystemManage_Login.ToString();
      textBox2.Text = settings.SystemManage_SystemSetting.ToString();
      textBox3.Text = settings.UserManage_Enter.ToString();
      textBox4.Text = settings.UserManage_PurviewAssign.ToString();
      textBox5.Text = settings.UserManage_UserEdit.ToString();
      textBox6.Text = settings.UserManage_UserDelete.ToString();
  }


  当然需要用到二个命名空间
  using System.IO;
  using System.Xml.Serialization;

  另外OperatePermission.Config文档的结构如下:
  <?xml version="1.0"?>
  <OperatePermissionSettings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <SystemManage_Login>1</SystemManage_Login>
      <SystemManage_SystemSetting>2</SystemManage_SystemSetting>
      <UserManage_Enter>3</UserManage_Enter>
      <UserManage_PurviewAssign>4</UserManage_PurviewAssign>
      <UserManage_UserDelete>6</UserManage_UserDelete>
      <UserManage_UserEdit>5</UserManage_UserEdit>
  </OperatePermissionSettings>

  这是最简单的串行化,只作个范例。真正实现时,最好能对该方法用类包装起来,使用起来会有非常好的可读性。

“XML串行化数据基础”教程到此结束==>||
 相关教程
XML串行化数据基础
XML串行化数据基础
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

投稿作者:  信息来源:  录入时间: 2006-4-27 21:54:03
投稿信箱: web#iecool.com
设为首页 - 加入收藏 - 关于我们 - 广告服务 - 版权申明 - 友情链接 - 联系方式 - 会员投稿
E库技术学院 © 2004-2005 Edu.IEcool.Com  浙ICP备05015070号