winform程序读取和改写配置文件App.config元素的值
2016-05-16 17:49
519 查看
<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <!--图片存放路径--> <add key="ImgPath" value="D:\img\" /> </appSettings> </configuration>
可以看出,app.config和web.config一样,嗯,它也是一个XML文件。那怎么对这个文件中的元素进行读取操作呢?很简单,来看代码:
string strPath = System.Configuration.ConfigurationSettings.AppSettings["ImgPath"].ToString();
这样就可以把app.config文件中ImgPath这个元素的Value值读取出来了。那怎么改写元素的值呢?如果你认为像读那样的去写,像这样的代码:
System.Configuration.ConfigurationSettings.AppSettings["ImgPath"] = @"E:\img\"; //这样写是没用的
在对app.config文件的元素Value值进行修改操作时,只能把app.config文件当作一个普通的XML文件来对待,利用System.Xml.XmlDocument类把这个app.config文件读到内存中,并通过System.Xml.XmlNode类找到appSettings节点,通过System.Xml.XmlElement类找到节点下的某个元素,利用SetAttribute方法来修改这个元素的值后,最后再将app.config文件保存到原的目录中,这样,才算完成了对一个元素Value值的修改操作。下面这个方法可完成对app.config文件appSettings节点下任意一个元素进行修改,当然,你也可能修改这个方法,达到修改任意节点,任意元素的Value值。
public static void SetValue(string AppKey, string AppValue) { System.Xml.XmlDocument xDoc = new System.Xml.XmlDocument(); xDoc.Load(System.Windows.Forms.Application.ExecutablePath + ".config"); System.Xml.XmlNode xNode; System.Xml.XmlElement xElem1; System.Xml.XmlElement xElem2; xNode = xDoc.SelectSingleNode("//appSettings"); xElem1 = (System.Xml.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(System.Windows.Forms.Application.ExecutablePath + ".config"); }
相关文章推荐
- Android中通过scheme实现网页打开App(deep-link)
- Android 之优雅代码(一)——巧用assets
- unity 事件的触发脚本
- iOS每个Cell倒计时
- Android之EnventBus
- 平安好医生技术栈的分析
- android使用ant重新编译打包apk
- Android Tips 7
- Learning methods - 2
- [Android] Android异步任务机制之AsycTask
- swift+storyboard+UIImageview入门
- android ExpandableListView实现
- Android的onCreateOptionsMenu()创建菜单Menu详解
- Android中Cookie的使用
- iOS五种页面传值方式
- android堆栈信息,android死锁致重启问题分析
- 【Android】神奇的android:clipChildren属性
- android内存优化
- ios中的数据存储方式
- 【IOS开发】swift的imageview的用法(加载图片,圆角,边框)