Jeśli wywołać selectNodes na XmlElement i przechodzi zapytanie XPath takie jak to:selectNodes nie obejmuje zasięgiem elementu
węzły XmlNodeList = xmlElement.SelectNodes ("// OtherNode");
Lista węzłów będzie dla wszystkich OtherNode elementy w dokumencie nie tylko te z XMLELEMENT.
wydaje mi przypomnieć, że jest to zgodne z projektem, a dla dobrego powodu, ale nie mogę sobie przypomnieć, co to był dobry powód, ani w jaki sposób dostać się wokół niego.
proste wyjaśnienie „dlaczego” jest to, że jak ze ścieżkami plików - '/ foo/bar' jest ścieżka bezwzględna, gdzie wiodącym'/'oznacza„zaczynać od korzenia "; 'foo/bar' to względna ścieżka do pliku, która może być również zapisana'./foo/bar'. Podobnie jest z XPath, i tam obowiązuje zarówno '/' jak i '//' - więc wiodący '/' zawsze oznacza "start z węzła głównego w drzewie, do którego należy bieżący węzeł kontekstu". –
Dlaczego nie po prostu "OtherNode"? – Joren
Bo on chce rozważyć wszystkich potomków, a nie tylko najbliższe dzieci? –