Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

วิธี Parse XML ใน JSP ด้วย JSTL x:parse


แท็ก <x:parse> ใช้สำหรับ Parse ข้อมูล XML จากแอตทริบิวต์หรือ body ของแท็ก

แอตทริบิวต์ของ <x:parse>

แอตทริบิวต์ คำอธิบาย จำเป็น ค่าเริ่มต้น
var ชื่อตัวแปรเก็บ XML Document ที่ parse แล้ว ไม่ None
xml ข้อความ XML ที่ต้องการ parse (String หรือ Reader) ไม่ Body
systemId System Identifier URI สำหรับ parse document ไม่ None
filter Filter ที่จะ apply กับ source document ไม่ None
doc XML Document object ที่ parse แล้ว ไม่ Page
scope ขอบเขตของตัวแปร var ไม่ Page
varDom ชื่อตัวแปรเก็บ DOM Document ไม่ Page
scopeDom ขอบเขตของตัวแปร varDom ไม่ Page

ตัวอย่าง: Parse 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="https://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="x" uri="https://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://localhost:8080/books.xml"/>
<x:parse xml="${bookInfo}" var="output"/>
<b>ชื่อหนังสือเล่มแรก:</b> <x:out select="$output/books/book[1]/name" /><br>
<b>ราคาหนังสือเล่มที่สอง:</b> <x:out select="$output/books/book[2]/price" />
</body>
</html>

ผลลัพธ์

Books Info:
ชื่อหนังสือเล่มแรก: Padam History
ราคาหนังสือเล่มที่สอง: 2000

ข้อดี: ใช้ <c:import> โหลดไฟล์ XML จาก URL แล้ว parse ด้วย x:parse แยก Logic และ Data ได้ชัดเจน