Почему xPath предполагает пространство имен

xPath в методе SelectNodes ниже не возвращает ни одного узла, даже если в документе xCurrent есть такие узлы.

XmlDocument xCurrent = new XmlDocument();
xCurrent.Load(File);
foreach (XmlNode Node in xCurrent.DocumentElement.SelectNodes("//Product"))
{
    ...
}

Мое предположение, что это должно основываться на этом: https://msdn.microsoft.com/pl-pl/library/ms256086(v=vs.110).aspx

// author Все элементы в документе.

Однако я обнаружил, что следующий xPath возвращает то, что требуется

xCurrent.DocumentElement.SelectNodes("//*[local-name()=\"Product\"]"))

Мне кажется, что xPath предполагает, что "// Product" означает "// elibri: Product", потому что "//" xPath возвращает только узел "elibri:Dialect". В чем причина этого предположения? Список дочерних узлов DocumentElement ниже.

Список дочерних узлов отладчика VS

0 ответов

Другие вопросы по тегам