using System.Xml; using System.IO; using System.Windows.Forms; using System; class Program { static void Main(string[] args) { // string str1 = AppConfig(); // // SetValue("pwd", "Pass@word"); //String ConString = System.Configuration.ConfigurationSettings.AppSettings["ConnenctionString"]; SaveConfig("ConnenctionString", "server=localhost;initial catalog=mydb; integrated security=sspi"); } public static string AppConfig() { return Path.Combine(Application.StartupPath, "App.config");//此处配置文件在程序目录下 } public static void SetValue(string AppKey, string AppValue) { XmlDocument xDoc = new XmlDocument(); xDoc.Load(Program.AppConfig()); XmlNode xNode; XmlElement xElem1; XmlElement xElem2; xNode = xDoc.SelectSingleNode("//appSettings"); xElem1 = (XmlElement)xNode.SelectSingleNode("//add[@key='" + AppKey + "']"); if (xElem1 != null) { xElem1.SetAttribute("value", AppValue); } else { xElem2 = xDoc.CreateElement("add"); xElem2.SetAttribute("key", AppKey); xElem2.SetAttribute("value", AppValue); xNode.AppendChild(xElem2); } xDoc.Save(Program.AppConfig()); } public static void SaveConfig(string ConnenctionString, string conStrValue) { XmlDocument doc = new XmlDocument(); //获得配置文件的全路径 string strFileName = AppDomain.CurrentDomain.BaseDirectory.ToString() + "AppConfigTest.exe.config"; doc.Load(strFileName); //找出名称为“add”的所有元素 XmlNodeList nodes = doc.GetElementsByTagName("add"); for (int i = 0; i < nodes.Count; i++) { //获得将当前元素的key属性 XmlAttribute att = nodes[i].Attributes["key"]; //根据元素的第一个属性来判断当前的元素是不是目标元素 if (att.Value == "ConnectionString") { //对目标元素中的第二个属性赋值 att = nodes[i].Attributes["value"]; att.Value = conStrValue; break; } } //保存上面的修改 doc.Save(strFileName); } } using System; using System.Collections.Generic; using System.Text; using System.Configuration; using System.Security.Cryptography; namespace SFTClient { /// <summary> /// ConfigHelper 配置参数协助类 /// </summary> public static class ConfigHelper { /// <summary> /// /// </summary> /// <param name="key"></param> /// <param name="value"></param> /// <returns></returns> public static string GetConfig(string key, string value) { string cfgVar = null; try { cfgVar = ConfigurationManager.AppSettings[key]; } catch { return value; } // return cfgVar == null ? value : cfgVar; } /// <summary> /// /// </summary> /// <param name="key"></param> /// <returns></returns> public static string GetConfig(string key) { return GetConfig(key, null); } /// <summary> /// /// </summary> /// <param name="key"></param> /// <returns></returns> public static bool GetConfigBool(string key) { bool result = false; string cfgVal = GetConfig(key); if (null != cfgVal && string.Empty != cfgVal) { try { result = bool.Parse(cfgVal); } catch (FormatException) { // Ignore format exceptions. } } return result; } public static bool GetConfigBool(string key, bool defautValue) { string cfgVal = GetConfig(key); if (string.IsNullOrEmpty(cfgVal)) { return defautValue; } // bool rslt; if (bool.TryParse(cfgVal, out rslt)) { return rslt; } // return defautValue; } public static int GetConfigInt(string p, int defaultValue) { string configValue = GetConfig(p); try { return int.Parse(configValue); } catch { return defaultValue; } } public static string GetConnectionString(string connectionStringName, string defaultConnectionString) { ConnectionStringSettings css = ConfigurationManager.ConnectionStrings[connectionStringName]; if(css == null) { return defaultConnectionString; }else { return css.ConnectionString; } } } }