Wie kann ich mit xslt, Knotenwert an X-Position, ohne foreach
verwenden %Vor%Dies wird im Sinne der Programmierung erklärt:
%Vor%================================================== ===
Nur zu wenig Frage erweitern, im folgenden xml:
%Vor%Wie kann ich den Titel des zweiten Elements auswählen?
Beantworten Sie die erweiterte Frage. Sie können den Positionswert verwenden, wenn Sie einen Knotensatz der gewünschten Elemente auswählen:
%Vor%oder:
%Vor%Beachten Sie die Verwendung der Klammer, die erforderlich ist, um den gewünschten Knotensatz zurückzugeben, bevor er nach Position ausgewählt wird.
Sie können das verwenden, was Sie "im Sinne der Programmierung" genannt haben. Sie benötigen jedoch *
aufgrund des unbekannten Namens der Kinderelemente:
Beachten Sie, dass Knoten-Sets in XSLT nicht auf null basieren. In der obigen Weise wählen Sie das zweite Element aus, nicht das dritte .
Sie benötigen wirklich position()
, wenn Sie die aktuelle Position mit einer Zahl vergleichen wollen wie in:
, um alle Elemente mit einer Position größer als 2 auszuwählen. Ein anderer Fall, in dem position()
unentbehrlich ist, ist, wenn der Positionswert eine Variable vom Typ string ist:
Nur zu wenig Frage erweitern, im folgenden xml:
%Vor%Wie kann ich den Titel des zweiten Elements auswählen .
Verwenden Sie :
%Vor% Dies wählt aus: alle title
Elemente, die untergeordnete Elemente des zweiten aller untergeordneten Elemente des obersten Elements sind, deren Namen mit der Zeichenfolge "item"
beginnen.
Notieren Sie Ausdrücke wie :
%Vor%oder
%Vor% sind im Allgemeinen nicht korrekt , denn wenn im XML-Dokument andere Elemente wie (zB) "chapter"
mit title
untergeordnete Elemente vorhanden sind, könnten die obigen Ausdrücke ein chapter/title
auswählen. element - , aber die Aufgabe besteht darin, das zweite title
im Dokument auszuwählen, dessen Elternteil nur ein item
XYZ Element sein könnte.