Я попытался выбрать один узел, используя 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;
Он должен выбрать узел, но возвращает ошибку «Выражение должно вычисляться для набора узлов.».