如何在JSP中解析XML?

<X:解析>标签用于解析通过属性或在标签体任一指定的XML数据。

属性

<X:解析>标签具有以下属性-

属性描述需要默认
变种包含已解析的XML数据的变量没有没有
XML文件要解析的文档文本(字符串或阅读器)没有身体
systemId用于解析文档的系统标识符URI没有没有
过滤应用于源文档的过滤器没有没有
doc要解析的XML文档没有
范围var属性中指定的变量范围没有
varDom包含已解析的XML数据的变量没有
作用域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