You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
117 lines
3.5 KiB
117 lines
3.5 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
|
|
namespace Common.Config
|
|
{
|
|
/// <summary>
|
|
/// 描述:配置信息工具
|
|
/// 作者:王昊昇
|
|
/// 时间:2010.5.17
|
|
/// </summary>
|
|
public class ConfigurationUtil
|
|
{
|
|
public const string GLOBAL_CONFIGUATION_FILE_PATH = "app.config";
|
|
/// <summary>
|
|
/// 判断配置文件是否存在
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private static bool IsConfigFileExists()
|
|
{
|
|
#region
|
|
return System.IO.File.Exists(System.Windows.Forms.Application.StartupPath
|
|
+ "\\" + GLOBAL_CONFIGUATION_FILE_PATH);
|
|
#endregion
|
|
}
|
|
|
|
/// <summary>
|
|
/// 判断指定配置项是否存在
|
|
/// </summary>
|
|
/// <param name="keyPath">配置项的XPATH路径</param>
|
|
/// <returns></returns>
|
|
public static bool IsConfigExists(string keyPath)
|
|
{
|
|
#region
|
|
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
|
|
try
|
|
{
|
|
doc.Load(System.Windows.Forms.Application.StartupPath
|
|
+ "\\" + GLOBAL_CONFIGUATION_FILE_PATH);
|
|
System.Xml.XmlNode node = doc.SelectSingleNode(keyPath);
|
|
if (node != null)
|
|
{
|
|
node = null;
|
|
doc = null;
|
|
return true;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
|
|
}
|
|
doc = null;
|
|
return false;
|
|
#endregion
|
|
}
|
|
|
|
/// <summary>
|
|
/// 写入配置,配置不存在时将抛出异常
|
|
/// </summary>
|
|
/// <param name="keyPath">配置项的XPATH路径</param>
|
|
/// <param name="value">值</param>
|
|
public static void WriteConfig(string keyPath, string value)
|
|
{
|
|
#region
|
|
if (IsConfigExists(keyPath))
|
|
{
|
|
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
|
|
doc.Load(System.Windows.Forms.Application.StartupPath
|
|
+ "\\" + GLOBAL_CONFIGUATION_FILE_PATH);
|
|
System.Xml.XmlNode node = doc.SelectSingleNode(keyPath);
|
|
node.InnerText = value;
|
|
doc.Save(System.Windows.Forms.Application.StartupPath
|
|
+ "\\" + GLOBAL_CONFIGUATION_FILE_PATH);
|
|
}
|
|
else
|
|
{
|
|
throw new Exception("配置信息不存在");
|
|
}
|
|
#endregion
|
|
}
|
|
|
|
/// <summary>
|
|
/// 读取指定的配置
|
|
/// </summary>
|
|
/// <param name="keyPath">配置项的XPATH路径</param>
|
|
/// <returns></returns>
|
|
public static string ReadConfig(string keyPath)
|
|
{
|
|
#region
|
|
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
|
|
try
|
|
{
|
|
doc.Load(System.Windows.Forms.Application.StartupPath
|
|
+ "\\" + GLOBAL_CONFIGUATION_FILE_PATH);
|
|
System.Xml.XmlNode node = doc.SelectSingleNode(keyPath);
|
|
if (node != null)
|
|
{
|
|
doc = null;
|
|
return node.InnerText;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
throw;
|
|
}
|
|
finally
|
|
{
|
|
doc = null;
|
|
}
|
|
|
|
throw new Exception("配置信息不存在");
|
|
#endregion
|
|
}
|
|
}
|
|
}
|
|
|