แท็ก <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 ได้ชัดเจน