【发布时间】:2019-01-15 15:36:28
【问题描述】:
我尝试使用 xpath 选择单个节点,尽管在路径末尾使用 [1] 选择器并使用 XmlDocument.SelectSingleNode() 函数获取值,但它返回了错误。在我的其他网络应用程序中它可以工作。
我的 xml 文件:
<settings>
<GUI>
<Theme>Dark</Theme>
</GUI>
<Mgmt>
<NotAdmin>
<ViewItems>1</ViewItems>
<EditItems>1</EditItems>
<DeleteItems>0</DeleteItems>
<MgmtPanel>0</MgmtPanel>
<EditDB>0</EditDB>
<EditRestric>0</EditRestric>
</NotAdmin>
</Mgmt>
</settings>
我的 C# 代码:
XmlDocument SettingsXMLdoc = new XmlDocument();
string svrSettingsPath =
HostingEnvironment.MapPath("~/App_Data/AppSettings.xml");
SettingsXMLdoc.Load(svrSettingsPath);
XmlNode node =
SettingsXMLdoc.SelectSingleNode(//(/settings/Mgmt/NotAdmin/ViewItems)
[1]);
return node.InnerText;
它应该选择节点,但返回错误“表达式必须计算为节点集。”。
【问题讨论】: