Почему 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
ниже.