XML:
<setting name='AppConnection' value=''/>
XPath:.../setting[@name='AppConnection']/value → 回傳 null。
value 是 setting 元素的**屬性**,不是子節點。XPath 以 /value 尋找子元素,自然找不到。
string xpath = @"configuration/applicationSettings/test1.Properties.Settings/setting[@name='AppConnection']";
XmlNode node = doc.SelectSingleNode(xpath);
string val = (node != null && node.Attributes["value"] != null)
? node.Attributes["value"].Value : "NULL";
SelectSingleNode 回傳的是元素節點(setting)。node.Attributes["name"].Value 取得。.../setting[@name='AppConnection']/@value(需 SelectSingleNode 回傳 XmlAttribute,.NET 2.0+ 支援)。「屬性 ≠ 子節點」是 XML 導航的基本觀念。