如何在JSP中解析XML?
<x:parse>标签用于解析通过属性或标签体指定的XML数据。
属性
<x:parse>标签具有以下属性:
属性 | 描述 | 必填 | 默认值 |
---|---|---|---|
var | 包含已解析XML数据的变量 | 否 | 无 |
xml | 要解析的文档文本(字符串或读取器) | 否 | 主体 |
systemId | 用于解析文档的系统标识符URI | 否 | 无 |
filter | 要应用于源文档的过滤器 | 否 | 无 |
doc | 要解析的XML文档 | 否 | 页面 |
scope | var属性中指定变量的作用域 | 否 | 页面 |
varDom | 包含已解析XML数据的变量 | 否 | 页面 |
scopeDom | varDom属性中指定变量的作用域 | 否 | 页面 |
示例
以下示例演示了如何使用parse读取外部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 = "https://127.0.0.1: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>
使用**https://127.0.0.1:8080/main.jsp**访问上述JSP,将显示以下结果:
Books Info: The title of the first book is:Padam History The price of the second book: 2000
广告