JSP 操作XML数据
当您通过HTTP发送XML数据,它使用JSP来处理传入和传出的XML文件,例如RSS文档。作为XML文档只是一堆文字,通过JSP创建xml不会比创建HTML文档更加困难。
从JSP发送XML:
您可以使用JSP您发送HTML以同样的方式发送XML内容。唯一的区别是,必须设置页面的内容类型为text/xml。要设置内容类型,使用<%@page%>标记,像这样:
<%@ page contentType="text/xml" %>
下面是一个简单的例子,将XML内容发送到浏览器:
<%@ page contentType="text/xml" %> <books> <book> <name>Padam History</name> <author>ZARA</author> <price>100</price> </book> </books>
尝试使用不同的浏览器来查看文档树呈现上述的XML,访问上面的XML。
处理XML在JSP中:
使用JSP,然后再继续处理XML,需要下面的两个XML和XPath相关的库文件复制到您的<Tomcat Installation Directory>lib:
-
XercesImpl.jar: 下载 http://www.apache.org/dist/xerces/j/
-
xalan.jar: 下载 http://xml.apache.org/xalan-j/index.htmll
让我们把下面的内容在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 HistoryThe price of the second book: 2000 |
JSP格式化XML:
考虑下面的XSLT样式表style.xsl:
<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl= "http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="html" indent="yes"/> <xsl:template match="/"> <html> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <xsl:template match="books"> <table border="1" width="100%"> <xsl:for-each select="book"> <tr> <td> <i><xsl:value-of select="name"/></i> </td> <td> <xsl:value-of select="author"/> </td> <td> <xsl:value-of select="price"/> </td> </tr> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet>
现在考虑下面的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:transform Tags</title> </head> <body> <h3>Books Info:</h3> <c:set var="xmltext"> <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> </c:set> <c:import url="http://localhost:8080/style.xsl" var="xslt"/> <x:transform xml="${xmltext}" xslt="${xslt}"/> </body> </html>
这将产生以下结果:
BOOKS INFO:
|
如需使用JSTL的XML处理的更详细信息,你可以检查JSP标准标记库。
本站文章除注明转载外,均为本站原创或编译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创优秀实例教程
转载请注明:文章转载自:代码驿站 [http:/www.codeinn.net]
本文标题:JSP 操作XML数据
本文地址:http://www.codeinn.net/jsp/951.html
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创优秀实例教程
转载请注明:文章转载自:代码驿站 [http:/www.codeinn.net]
本文标题:JSP 操作XML数据
本文地址:http://www.codeinn.net/jsp/951.html