使用XmlDocument读取app.config

Aks*_*y J 8 c# app-config

我有一个app.exe.config文件,我试图通过XmlDocument读取它.但是,以下代码不起作用(将值作为null):

XmlDocument appSettingsDoc = new XmlDocument();
appSettingsDoc.Load(@"C:\DBUpgraderConfig\DBUpgrader.exe.config");
XmlNode node = appSettingsDoc.SelectSingleNode("//appSettings");
XmlElement value = (XmlElement)node.SelectSingleNode("UserName");
Run Code Online (Sandbox Code Playgroud)

这是XML:

<?xml version="1.0"?>
<configuration>
  <appSettings>
    <add key="Server" value="Xeon-s7\MSSQL2008"/>
    <add key="Username" value=""/>
    <add key="Password" value=""/>
  </appSettings>
  <startup>
    <supportedRuntime version="v2.0.50727"/>
  </startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)

Pat*_*man 8

您应该比较属性key,而不是尝试将其作为节点名称:

XmlElement value = (XmlElement)node.SelectSingleNode("//add[@key='Username']");
Run Code Online (Sandbox Code Playgroud)

这将为您提供add节点.你可以随心所欲地做任何事情,包括获取属性value.

string val = value.Attributes["value"].Value;
Run Code Online (Sandbox Code Playgroud)