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

mac2022-06-30  21

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.中的文件名就可以用到任何其他配置文件的操作中。

转载于:https://www.cnblogs.com/LYunF/archive/2012/12/27/2835137.html

最新回复(0)