JSTL - XML <x:forEach> Tag

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


The <x:forEach> tag has the 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


The following example shows the use of the <x:forEach> tag −

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

      <title>JSTL x:if Tags</title>

      <h3>Books Info:</h3>

      <c:set var = "xmltext">
               <name>Padam History</name>
               <name>Great Mistry</name>

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


You will receive the following result −

Books Info:

  • Book Name: Padam History

  • Book Name: Great Mistry

Kickstart Your Career

Get certified by completing the course

Get Started