会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
旅途。
博客园
首页
新随笔
联系
管理
订阅
winform app.config文件的动态配置
获取
获取
应用程序exe.config文件中 节点value值
/// <summary> /// 功能: 读取应用程序exe.config文件中 /// appSettings节点下 节点add属性值 /// 根据add的属性值key来读取value值 /// </summary> /// <param name="appKey">属性key值</param> /// <returns></returns> public string GetConfigValue(string appKey) { XmlDocument xDoc = new XmlDocument(); try { //System.Windows.Forms.Application.ExecutablePath可执行文件路径(包括执行文件名称) //加载文件 xDoc.Load(System.Windows.Forms.Application.ExecutablePath + ".config"); XmlNode xNode; XmlElement xElem; //选取appSettings节点 xNode = xDoc.SelectSingleNode("//appSettings"); //根据key属性值appKey选择节点 xElem = (XmlElement)xNode.SelectSingleNode("//add[@key='" + appKey + "']"); if (xElem != null) //返回value属性值 return xElem.GetAttribute("value"); else return ""; } catch (Exception) { return ""; } }
上面是方法:
下面为调用:
GetConfigValue("key值");
修改
上面是方法:
修改
应用程序exe.config文件及App.config中 节点value值
/// <summary> /// 功能:动态配置app.config /// </summary> /// <param name="AppKey">节点属性key值</param> /// <param name="AppValue">节点属性value值</param> private void SetValue(string AppKey, string AppValue) { for (int i = 0; i < 2; i++) { XmlDocument doc = new XmlDocument(); doc.Load(AppConfig(i)); XmlNode node = doc.SelectSingleNode(@"//appSettings"); XmlElement ele = (XmlElement)node.SelectSingleNode(@"//add[@key='" + AppKey + "']"); ele.SetAttribute("value", AppValue); doc.Save(AppConfig(i)); } } /// <summary> /// 功能:重置数据库connectionStrings连接字符串 /// 时间:2013年12月31日11:09:57 /// </summary> /// <param name="strKey">节点属性name值</param> /// <param name="strValue">节点属性connectionString值</param> /// <returns></returns> private void WriteXml(string strKey, string strValue) { //循环2次 //分别修改App.config及应用程序exe.config connectionStrings节点值 for (int i = 0; i < 2; i++) { XmlDocument doc = new XmlDocument(); doc.Load(AppConfig(i)); XmlNode node = doc.SelectSingleNode(@"//connectionStrings"); XmlElement ele = (XmlElement)node.SelectSingleNode(@"//add[@name='" + strKey + "']"); ele.SetAttribute("connectionString", strValue); doc.Save(AppConfig(i));//保存 } } /// <summary> /// 功能:获取配置文件路径 /// </summary> /// <param name="i"></param> /// <returns></returns> public string AppConfig(int i) { if (i == 0)//获取应用程序目录下App.config路径 { int intPos = Application.StartupPath.Trim().IndexOf("bin") - 1; string strDirectoryPath = System.IO.Path.Combine(Application.StartupPath.Substring(0, intPos), "App.config"); return strDirectoryPath; } else//获取应用程序exe目录 如:MultiThreadDemo.exe.config目录路径 { return System.Windows.Forms.Application.ExecutablePath + ".config"; } }
下面为调用:
posted @
2013-12-31 12:13
旅途。
阅读(
876
) 评论(
1
)
编辑
收藏
举报
刷新页面
返回顶部
公告