由于这个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)
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)
}
}