В .net не работают XPath
селекторы, типа ("book/author"), если в корневом элементе присутсвует namespace:
<root xmlns="http://somesite.ru/XMLSchema">
Какое решение посоветуете, в случае указанного выше селектора возвращается 0 XMLNodeList
В .net не работают XPath
селекторы, типа ("book/author"), если в корневом элементе присутсвует namespace:
<root xmlns="http://somesite.ru/XMLSchema">
Какое решение посоветуете, в случае указанного выше селектора возвращается 0 XMLNodeList
Вот этот способ, по-моему мнению, самый оптимальный:
var xDoc = new XmlDocument();
xDoc.Load(stream);
var nsmanager = new XmlNamespaceManager(xDoc.NameTable);
nsmanager.AddNamespace("c", xDoc.DocumentElement.NamespaceURI);
Дальше XPath
используется по обычной схеме, просто добавляется с:
и nsmanager
XmlNodeList nodes = rootNode.SelectNodes("c:book", nsmanager);
Помог вот такой селектор:
//*[local-name() = 'author']