自定义XML配置文件的操作类

xml配置文件:

<?xml version="1.0"?>
<ModuleSettings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <DataSource>fujian</DataSource>
  <Uid>fujian_zyz</Uid>
  <Password>fujian_sql_zyz</Password>
  <ShowLogin>false</ShowLogin>
</ModuleSettings>

操作类的实现:

using System;
using System.IO;
using System.Web;
using System.Text;
using System.Xml.Serialization;
using System.Xml;

namespace LTPTOOL
{
 #region 配置对象模型类

 /// <summary>
 /// 李天平
 /// 2004.3
 /// 配置的modul类(注意相关属性的类型与[XmlElement])
 /// use:ModuleSettings settings=ModuleConfig.GetSettings();
 /// </summary>
 public class ModuleSettings
 {
  private string datasource;
  private string uid;
  private string password;
  private bool showlogin;
  
   
  [XmlElement]
  public string DataSource
  {
   set{ datasource=value; }
   get{ return datasource; }
  }
  [XmlElement]
  public string Uid
  {
   set{ uid=value; }
   get{ return uid; }
  }
  [XmlElement]
  public string Password
  {
   set{ password=value; }
   get{ return password; }
  }
  [XmlElement]
  public bool ShowLogin
  {
   set{ showlogin=value; }
   get{ return showlogin; }
  }
 

 }
 #endregion


 #region  配置的操作类ModuleConfig
 /// <summary>
 /// 配置的操作类ModuleConfig。
 /// </summary>
 public class ModuleConfig
 {

  public static ModuleSettings GetSettings()
  {   
   ModuleSettings data = null;
   XmlSerializer serializer = new XmlSerializer(typeof(ModuleSettings));
   try
   {
    string fileName = "db.config";    
    FileStream fs = new FileStream(fileName, FileMode.Open);     
    data = (ModuleSettings)serializer.Deserialize(fs);
    fs.Close();    
   }
   catch
   { 
    data = new ModuleSettings();
   }
  
   
   return data;
  }


  public static void SaveSettings(ModuleSettings data)
  {
   string fileName = "db.config";
   XmlSerializer serializer = new XmlSerializer (typeof(ModuleSettings));
       
   // serialize the object
   FileStream fs = new FileStream(fileName, FileMode.Create);
   serializer.Serialize(fs, data);
   fs.Close();
  }

  
  #endregion


 }

}

得到配置文件的详细信息;

ModuleSettings settings=ModuleConfig.GetSettings();
txtServer.Text=settings.DataSource;
txtUser.Text=settings.Uid;
txtPass.Text=settings.Password;

保存修改:

settings.DataSource=txtServer.Text;
ModuleConfig.SaveSettings(settings);

对于扩展配置也非常方便,只需修改ModuleSettings的对象模型和ModuleConfig.中的文件名就可以用到任何其他配置文件的操作中。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值