Я пытаюсь выполнить SelectSingleNode
на XMLDocument
с использованием выражения XPath. Однако, когда значение атрибута, которое я ищу, содержит несколько прямых косых черт (/), оно возвращает значение null.
Я не могу найти в Интернете никаких ресурсов для экранирования вперед слэш. Кто-нибудь знает способ обойти это?Или у меня неправильный синтаксис для сопоставления значения атрибута?
Пример XML
<?xml version="1.0"?>
<Root>
<Page Path="/brand" />
<Page Path="/brand/armada" />
</Root>
Это выражение XPath возвращает правильный узел (например, первый в приведенном выше примере)
XmlNode N = xmlDoc.SelectSingleNode("Root/Page[@Path='/brand']");
Это выражение XPath возвращает значение null
XmlNode N = xmlDoc.SelectSingleNode("Root/Page[@Path='/brand/armada']");
Я работаю в среде C #, .net 3.5.
РЕДАКТИРОВАТЬ: Спасибо за ответы. Я решил проблему, используя двойную косую черту в выражении select.
XmlNode N = xmlDoc.SelectSingleNode("Root//Page[@Path='/brand/armada']");