winForm 读取Web.config 包含(xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0")

本文介绍了一种解决XML文件中使用命名空间导致XPath选择器无法正常工作的问题的方法。通过创建XmlNamespaceManager并添加对应的命名空间,实现了对指定节点的成功查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 由于这个XML文件加了Xmlns命名空间,如果直接用xxx.SelectSingleNode("PersonalInformation/GeneralInformation/Name"),结果返回null;
 public void GetStrConnection()
 {
     try
     {
         string str = AppDomain.CurrentDomain.BaseDirectory + "web.config";
         System.Xml.XmlDocument webconfig = new System.Xml.XmlDocument();

         webconfig.Load(str);//web.config的路径    

         XmlNamespaceManager xnm = new XmlNamespaceManager(webconfig.NameTable);
         xnm.AddNamespace("x", "http://schemas.microsoft.com/.NetConfiguration/v2.0");

         string xpath = "/x:configuration/x:connectionStrings/x:add[@name='SqlConnectionString']"; 
         //System.Xml.XmlNode node = webconfig.SelectSingleNode("/configuration/connectionStrings/add[@name='SqlConnectionString']");//要找的节点

         foreach (XmlNode node in webconfig.SelectNodes(xpath, xnm))
         {
             if (node == null)
             {
                 MessageBox.Show("没有找到符合要求的节点");
             }
             else
             {
                 ConnString = node.Attributes[1].InnerText;
             }
         }              
         logclass.WriteLogFile("读取数据库链接字符串成功");
     }
     catch (Exception ex)
     {
         log.WriteLogFile("读取数据库链接字符串失败" + ex.Message);
     }
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值