У меня есть следующий XML:
1
ADM
2
USR
Что было бы, выражение XPath для получения всего roleNames (ADM, USR) похожи?
Это не работает:
ns:response/ns:return/ax:roleName ns http://example.com ax http://example.com/xsd
Когда я использую его, я получаю исключение
'ns:response/ns:return/ax:roleName не уточнено топор http://example.com http://example.com/xsd' имеет недопустимый маркер.
Если вы используете метод XmlDocument.SelectNodes
, вы должны использовать «ns: response / ns: return / ax: roleName»
как XPath и добавить пространства имен в ] XmlNamespaceManager
:
man.AddNamespace("ns", "http://example.com");
man.AddNamespace("ax", "http://example.com/xsd");
var set = doc.SelectNodes("ns:response/ns:return/ax:roleName", man);
Я думаю, вам просто нужно указать incex ns:return, поскольку их несколько:
ns:response/ns:return[1]/ax:roleName