Copyright © tutorialspoint.com

# JSTL XML <x:forEach> Tag

The <x:forEach> tag is used to loop over nodes in an XML document.

## Attribute:

The <x:forEach> tag has following attributes:

Attribute | Description | Required | Default
--- | --- | --- | ---
select | The XPath expression to be evaluated | Yes | None
var | Name of the variable to store the current item for each loop | No | None
begin | The start index for the iteration | No | None
end | The end index for the iteration | No | None
step | The size of the index increment while iterating over the collection | No | None
varStatus | The name of the variable in which the status of the iteration is stored | No | None

## Example:

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>

    <html>
    <head>
      <title>JSTL x:if Tags</title>
    </head>
    <body>
    <h3>Books Info:</h3>

    <c:set var="xmltext">
      <books>
        <book>
          <name>Padam History</name>
          <author>ZARA</author>
          <price>100</price>
        </book>
        <book>
          <name>Great Mistry</name>
          <author>NUHA</author>
          <price>2000</price>
        </book>
      </books>
    </c:set>

    <x:parse xml="${xmltext}" var="output"/>
    <ul>
    <x:forEach select="$output/books/book/name" var="item">
       <li>Book Name: <x:out select="$item" /></li>
    </x:forEach>
    </ul>

    </body>
    </html>

This would produce following result:

### Books Info:

- Book Name: Padam History
- Book Name: Great Mistry

Copyright © tutorialspoint.com