<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> 标签各属性的详细介绍如表所示。
属性 | 类型 | 描述 | 引用 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