<x:parse> 标签可以解析指定的 XML 内容。
语法:
说明:<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="城东书院"/>
<publish value="机械工业出版社"/>
</book>
</books>
运行结果如下:
编号:1
书名:Java开发宝典
作者:城东书院
出版社:机械工业出版社