日期:2014-05-18  浏览次数:20908 次

XML文件的修改问题
XML文件如下:
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<appSettings>
  <add key="CrystalImageCleaner-AutoStart" value="true" />
  <add key="CrystalImageCleaner-Sleep" value="60000" />
  <add key="CrystalImageCleaner-Age" value="120000" />
 </appSettings>
<connectionStrings>
<add name="ManageCard" providerName="System.Data.SqlClient" connectionString="server=106.0.0.8;database=test;uid=sa;pwd=sa"/>
</connectionStrings>
</configuration>

问题:
通过以下语句对该XMl文件进行读取
string s_Path = "/configuration/appSettings/add[@key=?]";
XmlDocument cfgDoc = new XmlDocument();
cfgDoc.Load(HttpContext.Current.Server.MapPath("/web.config"));
s_Path = s_Path.Replace("?", key);
XmlNode root = cfgDoc.SelectSingleNode(s_Path);

调试发现,程序运行到XmlNode root = cfgDoc.SelectSingleNode(s_Path)时,root的值为null。

不知道到底是什么原因导致的这种状况,请大家帮帮忙!



------解决方案--------------------
cfgDoc.Load(HttpContext.Current.Server.MapPath("/web.config")); //是不是这样有问题?web.config放在哪里了?路径可能不对

改成:
cfgDoc.Load(HttpContext.Current.Server.MapPath("web.config"));
------解决方案--------------------
string s_Path = "/configuration/appSettings/add[@key=\"?\"]";