2010-11-23 11 views
10

Auswahl einer beliebigen Menge Knoten auszuwählen Gegeben:jeder andere Knoten uing XPATH

<root> 
    <foo>1</foo> 
    <foo>2</foo> 
    <foo>3</foo> 
    <foo>4</foo> 
    <!-- ... --> 
<root> 

Wie kann ich alle anderen foo wählen, so dass ich foo bekommen [1], foo [3], ...?

Antwort

20

Versuchen

/root/foo[position() mod 2 = 1] 

Keine Ahnung, ob es richtig funktioniert, könnte 0. muss ich vergessen, wenn Position

+0

, die eher auf dem richtigen Weg zu sein. Ich habe mir hier die Referenz http://www.w3schools.com/xpath/xpath_operators.asp angesehen und versucht, das zu sehen. Lassen Sie uns wissen, wenn Sie die richtige Antwort gefunden haben! –

+5

Die Position der XPath-Position() beginnt bei 1, Sie haben also Recht. – yonran

+0

+1 Richtige Antwort. –

0

Position bei 0 oder 1 beginnt() gibt eine Zahl, die die Position eines Elements zeigt, relativ zu anderen untergeordneten Elementen. Die Mod-Funktion gibt den "Rest" einer Division zurück: 5 mod 2 = 1; 6 Mod 2 = 0; 9 Mod 2 = 1; 10 Mod 2 = 0;

siehe auch: https://en.wiktionary.org/wiki/modulo

Verwandte Themen