JSP JSTL <x:parse>标签:解析指定的XML内容

<x:parse> 标签可以解析指定的 XML 内容。

语法:

<x:parse{doc="XMLDocument"|xml1="XMLDocument"}
             {var="var"[scope="scope"]|varDom="var"[scopeDom="scope"]}
             [systemId="systemId"]
             [filter="filter"]/>
<x:parse
         {var="var"[scope="scope"]|varDom="var"[scopeDom="scope"]}
         [systemId="systemId"]
         [filter="filter"]>
  XML Document to parse
</x:parse>

说明:<x:parse> 标签有两种语法格式,这两种语法格式的输出结果完全相同。

<x:parse> 标签各属性的详细介绍如表所示。

<x:parse>标签属性
属性 类型 描述 引用 EL
doc String/Reader 提供解析的XML文件 可以
xml String 同doc属性相同,已不再使用 可以
var String 存储解析后的XML 不可以
varDom String 以org.w3c.dom.Document类型存储解析后的XML文件 不可以
scope String var属性的存储范围 不可以
scopeDom String varDom属性的存储范围 不可以
systemId String XML文件中的URI信息,用于解析XML文件的路径 可以
filter org.xml.sax.XMLFilter 解析XML文件使用的过滤器 可以

示例

首先通过 <c:import> 标签导入 bookInfo.xml 文件,然后通过 <x:parse> 标签解析 bookInfo.xml 文件的内容,最后通过 <x:out> 标签输出 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:out select="$bookInfo/books/book/id/@value"/><br>
    书名:<x:out select="$bookInfo/books/book/name/@value"/><br>
    出版社:<x:out select="$bookInfo/books/book/publish/@value"/>

bookInfo.xml 文件的内容如下:

<?xml version="1.0" encoding="gbk"?>
<books>
  <book>
    <id value="1"/>
    <name value="Java开发宝典"/>
    <author value="C语言中文网"/>
    <publish value="机械工业出版社"/>
  </book>
</books>

运行结果如下:
编号:1
书名:Java开发宝典
作者:C语言中文网
出版社:机械工业出版社

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/22851.html

(0)
上一篇 2021年7月20日
下一篇 2021年7月20日

相关推荐

发表回复

登录后才能评论