如何使用JSP迭代XML节点?
<x:forEach> 标记用来循环读取XML文档中的节点。
属性
<x:forEach> 标记有以下属性:
属性 | 描述 | 是否必需 | 默认值 |
---|---|---|---|
select | 要评估的XPath表达式 | 是 | 无 |
var | 用于存储每个循环当前项的变量名称 | 否 | 无 |
begin | 重复的开始索引 | 否 | 无 |
end | 重复的结束索引 | 否 | 无 |
step | 在集合中进行重复时,要增加的索引大小 | 否 | 无 |
varStatus | 用于存储重复状态的变量的名称 | 否 | 无 |
示例
以下示例展示了如何使用<x:forEach>标记:
<%@ 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 class = "list"> <x:forEach select = "$output/books/book/name" var = "item"> <li>Book Name: <x:out select = "$item" /></li> </x:forEach> </ul> </body> </html>
将会收到以下结果:
Books Info: Book Name: Padam History Book Name: Great Mistry
广告