Latest web development tutorials

JSP การประมวลผลข้อมูล XML

เมื่อมีการส่งข้อมูล XML ผ่านทาง HTTP มันเป็นสิ่งจำเป็นที่จะใช้ JSP เพื่อจัดการเอกสาร XML เข้าและขาออกเช่นเอกสาร RSS ในฐานะที่เป็นเอกสาร XML มันเป็นเพียงพวงของข้อความเท่านั้นสร้างเอกสาร XML โดยใช้ JSP ไม่ยากกว่าการสร้างเอกสาร HTML


ส่ง XML ใช้ JSP

ส่งข้อมูล XML โดยใช้ JSP และส่งเป็นเนื้อหา HTML ความแตกต่างเพียงอย่างเดียวคือคุณจะต้องใส่แอตทริบิวต์บริบทหน้ามีการตั้งค่าข้อความ / XML ในการตั้งค่าแอตทริบิวต์บริบทใช้ <@ หน้า%%> คำสั่งเช่นนี้

<%@ page contentType="text/xml" %>

เนื้อหา xml ตัวอย่างต่อไปส่งไปยังเบราว์เซอร์:

<%@ page contentType="text/xml" %>

<books>
   <book>
      <name>Padam History</name>
      <author>ZARA</author>
      <price>100</price>
   </book>
</books>

ใช้เบราว์เซอร์ที่แตกต่างกันในการเข้าถึงตัวอย่างนี้ดูตัวอย่างที่นำเสนอในต้นไม้เอกสาร


การประมวลผล XML ใน JSP

ก่อนที่จะใช้กระบวนการ XML JSP คุณจะต้อง XPath และไฟล์ที่เกี่ยวข้องกับ XML ในสองห้องสมุด <Tomcat ติดตั้งไดเรกทอรี> \ lib ไดเรกทอรี:

แฟ้ม 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:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ 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 ผลมีดังนี้

BOOKS INFO:
The title of the first book is:Padam History 
The price of the second book: 2000

ใช้รูปแบบ XML JSP

ไฟล์นี้เป็นไฟล์ 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>

นี่คือแฟ้ม 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: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>

ผลมีดังนี้

เพิ่มเติมในการใช้ JSTL ในการจัดการเนื้อหา XML โปรดปรึกษา ไลบรารีแท็ก JSP มาตรฐาน