您的位置:首页 > 其它

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

2012-12-27 09:52 363 查看
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.中的文件名就可以用到任何其他配置文件的操作中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: