JSTL XML < x:parse > 标签
<x:parse>
标签用于解析通过一个属性或在标签本体中指定的 MXL 数据。
属性:
<x:parse>
标签具有如下所示属性:
属性 | 描述 | 是否必需 | 默认值 |
---|---|---|---|
var | 包含解析的 XML 数据的变量 | 否 | 无 |
xml | 要解析的文档文本 (String 或 Reader) | 否 | Body |
systemId | 解析文档的系统标识符 URI | 否 | 无 |
filter | 应用于源文档的过滤器 | 否 | 无 |
doc | 要被解析的 XML 文档 | 否 | 页面 |
scope | 在 var 属性中指定的变量范围 | 否 | 页面 |
varDom | 包含解析的 XML 数据的变量 | 否 | 页面 |
scopeDom | 在 varDom 属性中指定的变量范围 | 否 | 页面 |
实例:
下述的例子中描述了解析是怎样用来读取和解析外部的 XML 文件的:
我们已经理解了怎样从给定的文档中的主体解析 XML。现在将下述内容放到 books.xml 文件中:
<books>
<book>
<name>Padam History</name>
<author>ZARA</author>
<price>100</price>
</book>
<book>
<name>Great Mistry</name>
<author>NUHA</author>
<price>2000</price>
</book>
</books>
现在尝试下述的 main.jsp,并保存在相同的目录中:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %> <html> <head> <title>JSTL x:parse Tags</title> </head> <body> <h3>Books Info:</h3> <c:import var="bookInfo" url="http://localhost:8080/books.xml"/> <x:parse xml="${bookInfo}" var="output"/> <b>The title of the first book is</b>: <x:out select="$output/books/book[1]/name" /> <br> <b>The price of the second book</b>: <x:out select="$output/books/book[2]/price" /> </body> </html>
现在用 http://localhost:8080/main.jsp
尝试访问上述 JSP,这会产生如下所示结果:
Books Info:
The title of the first book is:Padam History
The price of the second book: 2000