JSTL XML 解析xml 的Tag标签

The <x:parse> tag is used to parse XML data specified either via an attribute or in the tag body.

 

准备所必须的jar 包 以下三个jar包缺一不可:

 

jstl.jar

standard.jar

xalan-2.7.1.jar

 

将这些jar包放在tomcat 服务器器下的 webapps\ project 下的 \WEB-INF\lib 里即可

 


books.xml 和 test.jsp放在同一目录

Attribute:

The <x:parse> tag has following attributes:

Attribute Description Required Default
var A variable that contains the parsed XML data No None
xml Text of the document to parse (String or Reader) No Body
systemId The system identifier URI for parsing the document No None
filter The filter to be applied to the source document No None
doc XML document to be parsed No Page
scope Scope of the variable specified in the var attribute. No Page
varDom A variable that contains the parsed XML data. No Page
scopeDom Scope of the variable specified in the varDom attribute. No Page

Example:

Following example shows how parse can be used to read external XML file and it can be parsed:

We have seen how we can parse XML from the body of the given document. Now let us put following content in books.xml file:

<?xml version="1.0" encoding="GBK"?>
<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>
 <book number="index1"> 
  <values-list>
	 <values>
		  <value>hello</value>
		  <value>jason</value>
		  <value>2000</value>
		  <value>www.baidu.com</value>
	 </values>
	 <values>
		  <value>hello</value>
		  <value>jason</value>
		  <value>2000</value>
		  <value>www.goole.com</value>
	 </values>
  </values-list>
</book>
</books>

 

 Now try the following test.jsp, keeping in the same directory:

 

<%@ 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="books.xml"/>

<x:parse xml="${bookInfo}" var="rss"/>
<b>The title of the first book is</b>: 
<x:out select="$rss/books/book[1]/name" />
<br>
<b>The price of the second book</b>: 
<x:out select="$rss/books/book[2]/price" />

<br>
	<x:forEach varStatus="status" select="$rss/books/book[@number='index1']/values-list/values">
       <li>
	   <a href="<x:out select="value[4]" escapeXml="false"/>" target="_blank">
		<x:out select="value[4]" />
	   </a>
	   </li>
      </x:forEach>
</body>
</html>

 

Now try to access above JSP using http://localhost:8080/test.jsp, this would produce following result:

Books Info:
The title of the first book is: Padam History 
The price of the second book: 2000 

www.baidu.com 
www.goole.com 

 

你可能感兴趣的:(tomcat,xml,jsp,C#,sun)