我有一个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)
您应该比较属性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)