JSP JSTL <x:forEach>标签:遍历XML文件
<x:forEach> 标签用于根据提供的 XPath 表达式遍历 XML 文件的内容。
语法:
<x:forEach>标签各属性的详细介绍如表所示。
9787111379331
C语言开发宝典
机械工业出版社
79.00
9787111378471
Java开发宝典
机械工业出版社
99.00
语法:
<x:forEach[var="varName"]select="XPathExpression">
[varStatus="varStatusName"]
[begin="begin"][end="end"][step="step"]>
body content
</x:forEach>
<x:forEach>标签各属性的详细介绍如表所示。
| 属性 | 类型 | 描述 | 引用EL |
|---|---|---|---|
| select | String | XPath表达式,决定查询结果 | 不可以 |
| var | String | 循环体的变量 | 不可以 |
| begin | int | 循环的起始位置,包括该位置 | 可以 |
| end | int | 循环的终止位置,包括该位置 | 可以 |
| step | int | 循环的步长 | 可以 |
| varStatus | String | 循环的变量状态 | 不可以 |
示例1
遍历 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>
示例2
遍历 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
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算