<x:forEach> 标签用于根据提供的 XPath 表达式遍历 XML 文件的内容。
语法:
<x:forEach>标签各属性的详细介绍如表所示。
属性 | 类型 | 描述 | 引用EL |
---|---|---|---|
select | String | XPath表达式,决定查询结果 | 不可以 |
var | String | 循环体的变量 | 不可以 |
begin | int | 循环的起始位置,包括该位置 | 可以 |
end | int | 循环的终止位置,包括该位置 | 可以 |
step | int | 循环的步长 | 可以 |
varStatus | String | 循环的变量状态 | 不可以 |
遍历 XML 文件 bookInfo.xml 的全部图书信息,关键代码如下:
<%@taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:import url="bookInfo.xml" var="xmlFile" charEncoding="gbk"/>
<x:parse var="bookInfo" doc="${xmlFile}"></x:parse>
<x:forEach select="$bookInfo/books/book">
<p><x:out select="id/@value"/><br>
<x:out select="name"/><br>
<x:out select="publish/@value"/><br>
<x:out select="sellAmount/@value"/></p>
</x:forEach>
遍历 XML 文件 bookInfo.xml,并显示第一本到第三本的图书信息,关键代码如下:
<%@taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:import url="bookInfo.xml" var="xmlFile" charEncoding="gbk"/>
<x:parse var="bookInfo"doc="${xmlFile}"></x:parse>
<x:forEach select="$bookInfo/books/book" begin="0" end="2">
<p><x:out select="id/@value"/><br>
<x:out select="name"/><br>
<x:out select="publish/@value"/><br>
<x:out select="sellAmount/@value"/></p>
</x:forEach>
使用 <x:forEach> 标签遍历 book.xml 文件中的所有图书信息。关键代码如下:
<%@page pageEncoding="gbk" contentType="text/html;charset=GBK"%>
<%@taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml"%>
<%@taglib prefix="c" uri="/WEB-INF/c.tld"%>
<c:import url="book.xml" var="xmlFile" charEncoding="gb2312"/>
<x:parse var="tushu" doc="${xmlFile}"/>
<x:forEach select="$tushu//book">
<p><x:out select="id/@value"/><br>
<x:out select="name/@value"/><br>
<x:out select="publish/@value"/><br>
<x:out select="price/@value"/></p>
</x:forEach>
运行结果如下:
9787111379331
C语言开发宝典
机械工业出版社
79.00
9787111378471
Java开发宝典
机械工业出版社
99.00