JSTL的XML处理标签库提供XML剖析、取出元素与属性和XSLT转换等相关标签,在JSP程式请先使用taglib指引元素汇入XML处理标签库
的URI,如下所示:
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
XPath的基础-说明
nXPath(XML Path Language)是一种标示节点位置的语言,可以用来描述XML元素的位置,如同硬碟资料夹的档案路径,如
下所示:
C:\Inetput\wwwroot\Ch13\book.xml
n上述路径指出档案book.xml的位置,XPath指令可以指出XML元素在XML文件中的位置,也就是树状结构节点的位置。在JSTL的XML处
理标签库是使用XPath语言来存取XML元素。
n13-5-1 XPath的基础-位置路径
nXPath语言主要描述节点相对其它节点的位置,称为「位置路径」(Location Path),位置路径的运算子,如下表所示:
XPath的基础-范例
XML剖析与一般处理标签- <x:parse>标签(语法)
<x:parse>标签可以执行XML文件剖析,以便使用XPath或XML DOM取出XML节点或属性值,其基本语法如下所示:
<x:parse xml="运算式" var="name"/>
或
<x:parse var="name"/>
Body
</x:parse>
上述标签可以执行xml属性的XML文件字串(或标签内的XML文件)剖析,并将剖析结果储存在var属性的变数。
13-5-2 XML剖析与一般处理标签- <x:parse>标签(范例)
<x:parse>标签的使用上可以配合<c:import>标签插入XML文件,如下所示:
<c:import var="doc" url="test.xml"/>
<x:parse xml="${doc}" var="xml"/>
上述<c:import>标签插入test.xml的XML文件(请注意!XML文件并没有宣告部分),将文件内容储存到doc变数,然后就可以使用
<x:parse>标签剖析XML文件内容。
XML剖析与一般处理标签- <x:out>标签(语法)
<x:out>标签可以使用XPath语言在剖析的XML文件中取出和显示指定的XML节点,其基本语法如下所示:
<x:out select="XPath运算式"/>
上述标签使用select属性的XPath运算式来取出指定的XML节点,XPath运算式的格式,如下所示:
$xml/books/book[1]/code
上述运算式是以"$"符号开始的字串,之后的xml是储存剖析结果的变数,然后是XPath路径字串。
13-5-2 XML剖析与一般处理标签- <x:out>标签(范例)
<x:out>标签就是使用XPath语言的运算式来取出指定的XML节点,如下所示:
<x:out select="$xml/books"/>
上述<x:out>标签的select属性是以"$"符号开始的字串,xml变数是储存前述剖析XML文件的内容,books是根节点,以此例是显示其
下所有XML节点的内容,即3个book节点内容。
XML剖析与一般处理标签- <x:set>标签(语法)
<x:set>标签使用XPath语言在剖析的XML文件中取出部分XML节点的子树,将它储存到其它变数,其基本语法如下所示:
<x:set var="name"
select="XPath运算式"/>
上述标签使用select属性的XPath运算式取出部分XML节点的子树,然后将此子树储存到var属性的变数。
XML剖析与一般处理标签- <x:set>标签(范例)
<x:set>标签是使用XPath语言的运算式取出XML文件的部分内容,以便进一步使用<x:out>标签进行处理,如下所示:
<x:set var="part" select="$xml/books/book[3]"/>
上述<x:set>标签取出第3个book节点,然后就可以进一步使用<x:out>标签取出其子节点,如下所示:
<x:out select="$part/code"/><br>
<x:out select="$part/title"/><br>
条件与回圈标签-<x:if>标签
<x:if>标签类似<c:if>标签,只是改为使用XPath运算式进行条件判断,其基本语法如下所示:
<x:if select="XPath条件运算式">
Body
</x:if>
<x:if>标签是使用XPath条件运算式进行判断,如下所示:
<x:if select="$xml/books/book[1]/code='F8920'">
XML文件拥有书号: F8920<br>
</x:if>
条件与回圈标签-<x:choose>、<x:when>和<x:otherwise>标签(语法)
<x:choose>、<x:when>和<x:otherwise>标签是使用XPath条件运算式进行多条件判断,其基本语法如下所示:
<x:choose>
<x:when select="XPath条件运算式">
Body
</x:when>
<x:when select="XPath条件运算式">
Body
</x:when>
<x:otherwise>
Body
</x:otherwise>
</x:choose>
<x:set var="part" select="$xml/books/book[1]"/>
<x:choose>
<x:when select="$part/@sales='Y'">
图书仍在销售中<br>
</x:when>
<x:when select="$part/@sales='N'">
图书目前缺货中<br>
</x:when>
<x:otherwise>
图书销售状况不明<br>
</x:otherwise>
</x:choose>
条件与回圈标签-<x:forEach>标签(语法)
n<x:forEach>标签类似<c:forEach>标签,只是改为使用XPath运算式取出多个同名的XML节点,以便使用回圈一一取出每一个节点来
进行处理,其基本语法如下所示:
<x:forEach var="name"
select="XPath运算式">
Body
</x:forEach>
条件与回圈标签-<x:forEach>标签(范例)
n<x:forEach>标签是使用XPath运算式来取出XML节点集合,如下所示:
<x:forEach var="item"
select="$xml/books/book">
<x:out select="."/><br>
</x:forEach>
上述<x:forEach>标签取出所有book节点,然后使用<x:out>标签显示目前的节点内容,"."表示目前节点。
XSLT转换标签-语法
n<x:transform>标签可以使用XSLT Script执行XML文件转换,内含<x:param>子标签可以设定XSLT参数,其基本语法如下所示:
<x:transform xml="运算式" xslt="运算式"
var="name" scope="scope">
<x:param name="name1"
value="value1"/>
…………
<x:param name="nameN“
value="valueN"/>
</x:transform>
XSLT转换标签-范例
<x:transforml>标签只需配合<c:import>标签就可以插入XML文件和XSLT Script档案来执行转换,如下所示:
<c:import var="doc" url="test.xml"/>
<c:import var="xslt" url="test.xslt"/>
<x:transform xml="${doc}" xslt="${xslt}"/>
上述<c:import>标签分别插入XML文件test.htm和XSLT Scirpt档案test.xslt,然后使用<x:transform>标签执行XSLT转换。
分享到:
相关推荐
总结来说,JSTL XML标签库结合了XercesImpl.jar和xalan.jar这两个强大的XML处理库,为JSP开发者提供了便捷的XML处理能力,使他们能够在页面上轻松处理XML数据并进行格式转换,从而提升了开发效率和代码质量。...
- **XML核心标签 (Core)**:提供基本的XML处理功能,如解析XML文档。 - **XML控制流程标签 (Control Flow)**:提供类似于编程语言中的循环和条件判断功能。 - **XML转换标签 (Transform)**:用于转换XML文档。 ####...
JSTL主要由几个不同的标签库组成,包括核心标签库、SQL标签库、XML标签库以及函数标签库。 1. **核心标签库 (Core Tags):** 这个库定义了`cc.tld`,包含了用于常见任务的标签,如数据管理、流程控制和输出。主要...
- **XML处理**: 包含`xml`标签库,提供了处理XML文档的能力,如解析XML、遍历节点等。 **2. `jstl.jar`**: 这个文件包含了JSTL的主要标签库实现,包括以下几个部分: - **Core Taglib**: 提供了一系列基础控制流...
2. **XML(XML处理)标签库**:提供处理XML文档的功能,如解析、转换和输出XML数据。`<x:parse>`用于将XML字符串解析成DOM对象,`<x:out>`用于输出XML内容。 3. **JDBC(数据库操作)标签库**:简化了JSP页面中的...
JSTL,全称为JSP Standard Tag Library(JSP标准标签库),是JavaServer Pages(JSP)技术的重要补充,旨在简化JSP页面的开发,提供了一系列预定义的、可重用的标签,用于执行常见的网页开发任务,如条件处理、迭代...
`jstl-impl-1.2.jar`包含了处理表达式语言(EL, Expression Language)、核心标签库(Core)、函数库(Function)、国际化(fmt)以及SQL操作等的具体实现。 **JSTL 1.2 主要功能及标签** - **Core标签库(c)** ...
4. **XML标签库(XML tag library)**:处理XML文档,如`<x:parse>`和`<x:transform>`。 5. **函数标签库(Functions tag library)**:提供一些辅助函数,如字符串操作,如`<fn:split>`用于字符串分割。 在使用JSTL时...
在JavaWeb开发中,自定义标签库和JSTL(JavaServer Pages Standard Tag Library)是两个重要的组件,它们极大地提高了代码的可读性和可维护性。本教程将深入探讨这两个主题,帮助开发者更好地理解和应用它们。 一、...
JSTL的核心标签库提供了处理流程控制、迭代、条件判断等功能,是Java Web开发中的重要组成部分。 在Java Web开发中,JSTL的核心标签库(Core Tag Library)包含以下几个主要方面: 1. **流程控制**: - `<c:if>`...
**JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中的一个重要组成部分,主要用于简化JSP页面中的代码,提升可维护性和可读性。JSTL提供了一系列预定义的标签,用于处理常见的任务,如迭代、...
本文将深入探讨JSTL的核心标签库、数据库标签库、I18N格式化标签库、XML标签库和JSTL函数标签库,帮助开发者掌握这些标签的使用方法。 #### JSTL核心标签库:基础与变量管理 JSTL的核心标签库是JSTL中最常用的库之...
**JSTL(JavaServer Pages Standard Tag Library)**是Java Web开发中的一种标准标签库,它为JavaServer Pages(JSP)提供了一系列预定义的标签,以简化网页开发,提高代码的可读性和可维护性。JSTL的出现是为了减少...
JSTL提供了丰富的标签,包括控制流标签(`if`, `choose`, `when`, `otherwise`等)、迭代标签(`forEach`)、函数标签(`fn:escapeXml`, `fn:length`等)以及XML处理标签(`c:import`, `c:out`等)。下面是一些常见...
JSTL(JavaServer Pages Standard Tag Library)是一个用于JSP的标准标签库,它提供了一系列预定义的标签,简化了常见的编程任务,如控制流程、输出处理、URL管理和数据操作等。JSTL的核心标签库(Core Library)是...
**JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中常用的一组标准标签库,它提供了一套方便、高效的JSP页面控制和数据处理标签,旨在简化JSP开发,提高代码的可读性和可维护性。本篇文章将...
**JSTL标签库及其使用方法** JavaServer Pages Standard Tag Library(JSTL)是Java社区为简化JSP页面开发而推出的一个标准标签库。它提供了丰富的功能,如迭代、条件判断、XML处理、国际化等,使代码更加简洁、易...
在Java Server Pages (JSP) 开发过程中,为了简化代码编写与维护,提高开发效率,`jstl_fn` 标签库作为一种强大的工具被广泛应用于处理字符串操作。本文将详细介绍`jstl_fn`标签库中的常用函数,并通过具体示例来...