Elemente von bestimmten Hierarchie-Ebene
Gibt es eine Möglichkeit zum abrufen aller Elemente von bestimmten Hierarchie-level mit Hilfe von XPath?
Upd.
<A>
<B>1</B>
<B>2</B>
</A>
<C>
<D>3</D>
<D>4</D>
</C>
Ich abrufen müssen alle B-und D-Elemente (Hierarchie-level = 2)
- Beispiele bitte.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Deinem Beispiel fehlt ein root-element, also gehe ich davon aus, so etwas wie dieses:
Mit dabei, die einfache Variante wäre einfach die entsprechende Anzahl von 'jedes element' wildcards um dein Ergebnis zu bekommen:
(Bedeutet "wählen Sie ein beliebiges Kind-element beliebiges Kind-element des Wurzel-element')
Alternativ, wenn man Ausdrücken möchte, die Ebene numerisch, den Sie verwenden könnten:
(Bedeutet "wählen Sie ein beliebiges element mit 2 Vorfahren')
Bearbeiten/Hinweis: Wie Dimitre Novatchev richtig darauf hingewiesen, es ist wichtig zu unterscheiden zwischen Knoten und Elemente, und ich heftete meine Antwort entsprechend. (Während Elemente sind Knoten selbst, es gibt auch sechs andere Typen von Knoten!)
Den Unterschied kann illustriert werden mit dem gegebenen Beispiel durch die Veränderung der Vorfahren basiert xpath-leicht:
Dies würde wählen Sie A-und B -, als das root-element gilt als ein Vorfahr-Knoten, und den root Knoten '/' als andere!
root node
, ausgewählt durch den XPath-Ausdruck/
ist nicht ein element. Auch, neben element-Kinder ein element kann Kinder vom Typ: text-Knoten, Kommentar-und processing instruction. Bitte, korrigieren Sie die Aussagen in Ihrer Antwort bezog sich auf "Knoten" sich auf "element".