Mit xslt get-node-Wert an X-position
Wie kann ich mithilfe von xslt -, Knoten-Wert an X-position, ohne die Verwendung von foreach -
<items>
<item1>x</item1>
<item2>x</item2>
<item3>x</item3>
</items>
Erklärt ist das in der Programmierung Sinn:
<xsl:value-of select="Items/Item[2]"/>
==================================================
Einfach zu wenig erweitern, ist die Frage, die die folgenden xml-Code:
<items>
<about>xyz</about>
<item1>
<title>t1</title>
<body>b1</body>
</item1>
<item2>
<title>t2</title>
<body>b2</body>
</item2>
<item3>
<title>3</title>
<body>3</body>
</item3>
</items>
Wie kann ich wählen Sie die zweite das Element Titel.
- Gute Frage, +1. Bitte beachten Sie, dass die meisten Antworten, die Ausdrücke enthalten, die, je nach XML-Dokument, können möglicherweise wählen Sie eine
title
das ist ' r ein Kind von einemitem
XYZ Elternteil.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Antwort auf die erweiterte Frage. Sie können verwenden Sie den positionellen Wert, wenn Sie einen Knoten auswählen-einstellen des gewünschten Elemente:
oder:
Hinweis: die Benutzung der Klammern zur Rückgabe verpflichtet, wollte node-set vor der Auswahl durch die position.
Können Sie verwenden, was heißt Ihr "bei der Programmierung sinnvoll." Allerdings müssen Sie
*
durch die unbekannten Namen der Kinder Elemente:Beachten Sie, dass die Knoten-sets in XSLT nicht null-basiert. In der Weise, die oben sind, sind Sie die Auswahl der zweiten Element, nicht die Dritte.
Die Sie wirklich brauchen
position()
wenn Sie wollen, vergleichen Sie die aktuelle position mit einer Nummer, wie in:wählen Sie alle Element mit position reibe als 2. Anderen Fall, wo
position()
ist indespensible ist, wenn die position Wert ist eine variable des Typs string:Verwenden:
Dieser wählt: alle
title
Elemente, die Kinder von der zweiten, alle Kinder-Elemente der top-element, deren Namen beginnen mit dem string"item"
.Tun, beachten Sie, dass Ausdrücke wie":
oder
sind nicht korrekt, im Allgemeinen, denn wenn im XML-Dokument gibt es weitere Elemente wie (sagen)
"chapter"
habentitle
Kinder, die oben genannten Ausdrücke können wählen Sie einechapter/title
element -- , aber die Aufgabe ist hier, um wählen Sie die zweitetitle
im Dokument, deren Eltern konnte nur einitem
XYZ element.Können Sie mit position()
Könnte man es machen, mit