Thẻ <x:parse> được sử dụng để phân tích dữ liệu XML được chỉ định qua thuộc tính hoặc trong phần thân thẻ.
Các thuộc tính
Thẻ <x:parse> có các thuộc tính sau:
| Thuộc tính | Mô tả | Bắt buộc | Mặc định |
|---|---|---|---|
| var | Một biến chứa dữ liệu XML đã phân tích | Không | Không có |
| xml | Văn bản tài liệu cần phân tích (String hoặc Reader) | Không | Body |
| systemId | URI định danh hệ thống để phân tích tài liệu | Không | Không có |
| filter | Bộ lọc được áp dụng cho tài liệu nguồn | Không | Không có |
| doc | Tài liệu XML cần phân tích | Không | Page |
| scope | Phạm vi của biến được chỉ định trong thuộc tính var | Không | Page |
| varDom | Một biến chứa dữ liệu XML đã phân tích | Không | Page |
| scopeDom | Phạm vi của biến được chỉ định trong thuộc tính varDom | Không | Page |
Ví dụ
Ví dụ sau cho thấy cách parse có thể được dùng để đọc file XML bên ngoài:
Chúng ta đã thấy cách phân tích XML từ phần thân của tài liệu cho trước. Hãy đặt nội dung sau vào file 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>
Bây giờ thử main.jsp sau, đặt trong cùng thư mục:
<%@ 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>Thẻ JSTL x:parse</title>
</head>
<body>
<h3>Thông tin sách:</h3>
<c:import var = "bookInfo" url = "https://localhost:8080/books.xml"/>
<x:parse xml = "${bookInfo}" var = "output"/>
<b>Tiêu đề của cuốn sách đầu tiên là</b>: <x:out select = "$output/books/book[1]/name" />
<br>
<b>Giá của cuốn sách thứ hai</b>: <x:out select = "$output/books/book[2]/price" />
</body>
</html>
Truy cập JSP trên sử dụng https://localhost:8080/main.jsp, kết quả sau sẽ được hiển thị:
Thông tin sách: Tiêu đề của cuốn sách đầu tiên là:Padam History Giá của cuốn sách thứ hai: 2000