`
huangronaldo
  • 浏览: 222932 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

JSTL的XML处理标签库

 
阅读更多

 

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标签库

    总结来说,JSTL XML标签库结合了XercesImpl.jar和xalan.jar这两个强大的XML处理库,为JSP开发者提供了便捷的XML处理能力,使他们能够在页面上轻松处理XML数据并进行格式转换,从而提升了开发效率和代码质量。...

    JSTL操作XML JSTL操作XML

    - **XML核心标签 (Core)**:提供基本的XML处理功能,如解析XML文档。 - **XML控制流程标签 (Control Flow)**:提供类似于编程语言中的循环和条件判断功能。 - **XML转换标签 (Transform)**:用于转换XML文档。 ####...

    JSTL标准标签库

    JSTL主要由几个不同的标签库组成,包括核心标签库、SQL标签库、XML标签库以及函数标签库。 1. **核心标签库 (Core Tags):** 这个库定义了`cc.tld`,包含了用于常见任务的标签,如数据管理、流程控制和输出。主要...

    JSTL标签库jar包

    - **XML处理**: 包含`xml`标签库,提供了处理XML文档的能力,如解析XML、遍历节点等。 **2. `jstl.jar`**: 这个文件包含了JSTL的主要标签库实现,包括以下几个部分: - **Core Taglib**: 提供了一系列基础控制流...

    jstl-1.1.2标签库

    2. **XML(XML处理)标签库**:提供处理XML文档的功能,如解析、转换和输出XML数据。`&lt;x:parse&gt;`用于将XML字符串解析成DOM对象,`&lt;x:out&gt;`用于输出XML内容。 3. **JDBC(数据库操作)标签库**:简化了JSP页面中的...

    JSTL(jsp标准标签库)

    JSTL,全称为JSP Standard Tag Library(JSP标准标签库),是JavaServer Pages(JSP)技术的重要补充,旨在简化JSP页面的开发,提供了一系列预定义的、可重用的标签,用于执行常见的网页开发任务,如条件处理、迭代...

    jstl1.2标签库jar包

    `jstl-impl-1.2.jar`包含了处理表达式语言(EL, Expression Language)、核心标签库(Core)、函数库(Function)、国际化(fmt)以及SQL操作等的具体实现。 **JSTL 1.2 主要功能及标签** - **Core标签库(c)** ...

    JSTL标签核心标签库

    4. **XML标签库(XML tag library)**:处理XML文档,如`&lt;x:parse&gt;`和`&lt;x:transform&gt;`。 5. **函数标签库(Functions tag library)**:提供一些辅助函数,如字符串操作,如`&lt;fn:split&gt;`用于字符串分割。 在使用JSTL时...

    JavaWeb-12:自定义标签库开发&JSTL标签库

    在JavaWeb开发中,自定义标签库和JSTL(JavaServer Pages Standard Tag Library)是两个重要的组件,它们极大地提高了代码的可读性和可维护性。本教程将深入探讨这两个主题,帮助开发者更好地理解和应用它们。 一、...

    JSTL核心标签库的jar包

    JSTL的核心标签库提供了处理流程控制、迭代、条件判断等功能,是Java Web开发中的重要组成部分。 在Java Web开发中,JSTL的核心标签库(Core Tag Library)包含以下几个主要方面: 1. **流程控制**: - `&lt;c:if&gt;`...

    JSTL标签库jar包文件

    **JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中的一个重要组成部分,主要用于简化JSP页面中的代码,提升可维护性和可读性。JSTL提供了一系列预定义的标签,用于处理常见的任务,如迭代、...

    JSTL标签库 api

    本文将深入探讨JSTL的核心标签库、数据库标签库、I18N格式化标签库、XML标签库和JSTL函数标签库,帮助开发者掌握这些标签的使用方法。 #### JSTL核心标签库:基础与变量管理 JSTL的核心标签库是JSTL中最常用的库之...

    免费下载JSTL两个标签库

    **JSTL(JavaServer Pages Standard Tag Library)**是Java Web开发中的一种标准标签库,它为JavaServer Pages(JSP)提供了一系列预定义的标签,以简化网页开发,提高代码的可读性和可维护性。JSTL的出现是为了减少...

    JSTL标签库下载和配置使用

    JSTL提供了丰富的标签,包括控制流标签(`if`, `choose`, `when`, `otherwise`等)、迭代标签(`forEach`)、函数标签(`fn:escapeXml`, `fn:length`等)以及XML处理标签(`c:import`, `c:out`等)。下面是一些常见...

    jstl标签库 手册

    JSTL(JavaServer Pages Standard Tag Library)是一个用于JSP的标准标签库,它提供了一系列预定义的标签,简化了常见的编程任务,如控制流程、输出处理、URL管理和数据操作等。JSTL的核心标签库(Core Library)是...

    jstl标签库的配置

    **JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中常用的一组标准标签库,它提供了一套方便、高效的JSP页面控制和数据处理标签,旨在简化JSP开发,提高代码的可读性和可维护性。本篇文章将...

    JSTL标签库及使用方法

    **JSTL标签库及其使用方法** JavaServer Pages Standard Tag Library(JSTL)是Java社区为简化JSP页面开发而推出的一个标准标签库。它提供了丰富的功能,如迭代、条件判断、XML处理、国际化等,使代码更加简洁、易...

    jstl_fn标签库

    在Java Server Pages (JSP) 开发过程中,为了简化代码编写与维护,提高开发效率,`jstl_fn` 标签库作为一种强大的工具被广泛应用于处理字符串操作。本文将详细介绍`jstl_fn`标签库中的常用函数,并通过具体示例来...

Global site tag (gtag.js) - Google Analytics