惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
A
About on SuperTechFans
量子位
Engineering at Meta
Engineering at Meta
B
Blog
The Cloudflare Blog
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog
Y
Y Combinator Blog
J
Java Code Geeks
D
DataBreaches.Net
aimingoo的专栏
aimingoo的专栏
T
Tailwind CSS Blog
H
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog
酷 壳 – CoolShell
酷 壳 – CoolShell

博客园 - 梅子黄时雨

离职反思 人际交往能力:远比你想象的重要 关于晋升 生产力提升计划 向企业一样的思考 在CentOS上搭建WordPress的博客系统 Some Useful LINQ Extension Methods MVC模式 IIS7.5配置 An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode. C# 整数和byte数组互换 显式接口成员实现 C#实现的堆栈 ASP.NET 验证控件 Gridview中合并单元格,某字段的内容相同时如何只显示一个,屏蔽相同列或行的内容(转) 动态SQL EXEC DELL 1520 笔记本拆机 关于表变量 华为致新员工书
C#winform 配置webconfig
梅子黄时雨 · 2011-09-02 · via 博客园 - 梅子黄时雨

今天公司老大让做一个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);
        }