加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

JSP JSTL <x:forEach>标签:遍历XML文件

发布时间:2020-12-15 02:41:13 所属栏目:Java 来源:网络整理
导读:x:forEach 标签用于根据提供的 XPath 表达式遍历 XML 文件的内容。 语法: x:forEach[var="varName"]select="XPathExpression" ? [varStatus="varStatusName"] ? [begin="begin"][end="end"][step="step"] ? body content /x:forEach x:forEach标签各属性的详
<x:forEach> 标签用于根据提供的 XPath 表达式遍历 XML 文件的内容。

语法:

<x:forEach[var="varName"]select="XPathExpression">
? [varStatus="varStatusName"]
? [begin="begin"][end="end"][step="step"]>
? body content
</x:forEach>


<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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读