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
所有教程
- socket
- Python基础教程
- C#教程
- MySQL函数
- MySQL
- C语言入门
- C语言专题
- C语言编译器
- C语言编程实例
- GCC编译器
- 数据结构
- C语言项目案例
- C++教程
- OpenCV
- Qt教程
- Unity 3D教程
- UE4
- STL
- Redis
- Android教程
- JavaScript
- PHP
- Mybatis
- Spring Cloud
- Maven
- vi命令
- Spring Boot
- Spring MVC
- Hibernate
- Linux
- Linux命令
- Shell脚本
- Java教程
- 设计模式
- Spring
- Servlet
- Struts2
- Java Swing
- JSP教程
- CSS教程
- TensorFlow
- 区块链
- Go语言教程
- Docker
- 编程笔记
- 资源下载
- 关于我们
- 汇编语言
- 大数据
- 云计算
- VIP视频