XSLT <xsl:for-each>Element


Das <xsl:for-each>-Element ermöglicht es Ihnen, in XSLT eine Schleife auszuführen.


<xsl:for-each> Element

Das XSL-<xsl:for-each>-Element kann verwendet werden, um jedes XML-Element einer angegebenen Knotenmenge auszuwählen:

Beispiele

<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>Meine CD-Sammlung</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Titel</th> <th>Künstler</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>

Selbst ausprobieren »

Hinweis:selectDer Wert des Attributs ist ein XPath-Ausdruck. Dieser XPath-Ausdruck funktioniert wie das Navigieren in einem Dateisystem, in dem Schrägstriche (/) Unterverzeichnisse auswählen.


Filtern der Ausgabe

Durch Hinzufügen eines Kriteriums zum select-Attribut im <xsl:for-each>-Element können wir auch die Ausgabe aus der XML-Datei filtern.

<xsl:for-each select="catalog/cd[artist='Bob Dylan']">

Zulässige Filteroperatoren:

  • = (gleich)
  • != (ungleich)
  • &lt; (kleiner als)
  • &gt; (größer als)

Werfen Sie einen Blick auf das angepasste XSL-Stylesheet:

Beispiele

<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>Meine CD-Sammlung</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Titel</th> <th>Künstler</th> </tr> <xsl:for-each select="catalog/cd[artist='Bob Dylan']"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>

Selbst ausprobieren »

Andere Erweiterungen