分享
 
 
 

XML串行化数据的基础

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

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>

<UserM

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有