2. JAXP là gì?
JAXP (Java API for XML Processing) là một bộ API
chuẩn của Java để viết các ứng dụng xử lí dữ liệu
XML. Cụ thể JAXP cho phép các ứng dụng phân tích
(parse), chuyển đổi, kiểm tra tính hợp lệ (validate) và
truy vấn (query) các tài liệu XML. JAXP có 3 nhóm API
căn bản:
1. Simple API for XML (SAX)
2. Document Object Model (DOM)
3. Streaming API for XML (StAX)
3. Các package quan trọng
• javax.xml.parsers: package cung cấp những interface dùng chung
cho cả SAX và DOM
• org.xml.sax: package chứa toàn bộ các class, interface thuộc nhóm
SAX
• org.w3c.dom: package chứa toàn bộ các class, interface thuộc
nhóm DOM
• javax.xml.transform: package của XSLT API, các thư viện giúp việc
chuyển đổi dữ liệu XML sang các định dạng khác
• javax.xml.stream: package cung cấp các class, interface giúp việc
đọc và ghi các tài liệu XML
4. Về SAX
SAX viết tắt của cụm từ Simple API
for XML.
SAX cho phép viết ứng dụng phân
tíchtruy xuất (parse) tuần tự một
tài liệu XML.
SAX phân tích tài liệu XML theo
dòng dữ liệu đơn hướng (dữ liệu
đã đọc qua thì không đọc lại
được).
5. Về SAX
SAX thực hiện duyệt tài liệu XML
theo mô hình hướng-sự-kiện (event-
driven). Nó sử dụng ít bộ nhớ hơn
so với DOM do không nạp toàn bộ
tài liệu vào bộ nhớ.
SAX chỉ đọc tài liệu, không có khả
năng thay đổi, điều hướng việc đọc
cũng như truy xuất ngẫu nhiên nên
nó phù hợp sử dụng cho những ứng
dụng xử lí (parse, validate, query) tài
liệu XML lớn.
6. Về DOM
DOM viết tắt của cụm từ
Document Object Model.
Về căn bản DOM dễ hiểu và dễ
sử dụng hơn SAX.
DOM chuyển toàn bộ tài liệu
XML thành một cấu trúc cây
(tree) và nạp vào bộ nhớ để xử
lí.
Dựa vào cấu trúc cây, DOM dễ
dàng điều hướng việc truy xuất
trong tài liệu XML.
7. Về DOM
DOM cho phép truy xuất ngẫu
nhiên tới các phần tử trong tài
liệu và được Xpath hỗ trợ.
Do toàn bộ tài liệu phải được
nạp vào bộ nhớ nên việc sử
dụng DOM sẽ tốn kém tài
nguyên, nhất là khi xử lí các tài
liệu XML lớn.
DOM được sử dụng cho các
ứng dụng muốn thay đổi cấu
trúc, nội dung của một tài liệu
XML