C#winform 配置webconfig
今天公司老大让做一个web.config的配置工具,虽然好久没写winform的程序了,不过想想无非也就是操作XML文件嘛,信誓旦旦的说两个小时就可以了。结果时间操作才发现不对劲,读取普通的XML文件没问题,操作web.config就不行,总是找不到节点。悲剧啊,折腾了一上午。
偶然发现web.config最开始比普通xml文件多了一行 xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0",心里一动,把这一行删掉,这下可以了,看来问题就出在这个身上啊。百度了一下,发现这个东东原来是xml的命名空间(汗,头一次知道这个东东),找到问题就好办了:
/// <summary> /// 获取连接字符串信息 /// </summary> public string GetConnectionString() { return QueryNode("/configuration/connectionStrings", "name", "ConnectionString", "connectionString"); } private string QueryNode(string xpath, string nameField, string nameValue, string valueField) { XmlDocument doc = new XmlDocument(); doc.Load(xmlFilePath); xpath = xpath.Replace("/", "//ww:"); XmlNamespaceManager ns = new XmlNamespaceManager(doc.NameTable); ns.AddNamespace("ww", doc.DocumentElement.NamespaceURI); XmlNode pareNode = doc.SelectSingleNode(xpath, ns); }
http://www.kissit.com.cn/