Mein Beispiel für eine Eingabe-XML lautet:
<root>
<a>
<b>item</b>
<b>item1</b>
<b>item2</b>
<b>item3</b>
<b>item4</b>
</a>
</root>
Ich nehme an, einen Knoten auszuwählen, b
dessen Position der Wert einer Variablen ist.
Wie kann ich den Wert einer Variablen verwenden, um die Position eines Knotens zu testen?
Folgendes sollte funktionieren:
Und wenn nicht, versuchen Sie:
quelle
position()
bezieht sich auf die Position im dom [2] bezieht sich auf das zweite Ergebnis in der Ergebnisliste.for-each
Schleifenanweisung verwendetselect
werden, sind sie gleich. Wennposition()
es innerhalb der Schleife selbst verwendet wird, bezieht es sich auf die Ergebnismenge. Das[n]
Format funktioniert nur als Kurzform, da es die einzige Bedingung innerhalb des[ ]
Blocks ist, andernfallsposition()
muss wie in//a[(@id="xx") and (position()=3)]
"jeder fünfte Link mit einemid
von xx" verwendet werden.\\*[2]
und\\*[position()=2]
gegen das XML der Frage laufe . Vielen Dank!