cấu trúc file xml của tôi là như thế nàyLàm cách nào để tìm nạp các nút cụ thể từ XML bằng XPath trong Java?
<?xml version="1.0" encoding="utf-8" ?>
<book>
<chapters>
<chapter id="1">
<page id="1" cid= "1" bid = "Book1">
<text>Hi</text>
</page>
<page id="2" cid= "1" bid = "Book1">
<text>Hi</text>
</page>
</chapter>
<chapter id="2">
<page id="1" cid= "2" bid = "Book1">
<text>Hi</text>
</page>
<page id="2" cid= "2" bid = "Book1">
<text>Hi</text>
</page>
</chapter>
<chapter id="3">
<page id="1" cid= "3" bid = "Book1">
<text>Hi</text>
</page>
<page id="2" cid= "3" bid = "Book1">
<text>Hi</text>
</page>
</chapter>
</chapters>
</book>
Tôi muốn để có được những nút trang cụ thể bằng cách đi qua trang id và chương id. Làm thế nào tôi có thể đạt được điều này ?
Ngoài ra, nút sách chứa quá nhiều chương và mỗi chương chứa nhiều trang. Vì vậy, tôi đang sử dụng trình phân tích cú pháp SAX để phân tích nội dung.
Không hỗ trợ xpath trong SAX? : [SAX Parsers có thể sử dụng XPath trong Java không?] (Http://stackoverflow.com/questions/8791600/can-sax-parsers-use-xpath-in-java) – har07
Tôi không tin rằng bạn có thể truy vấn bằng cách sử dụng xpath với SAX vì tài liệu không được lưu trữ đầy đủ trong bộ nhớ bất cứ lúc nào. Bạn có thể lưu trữ một danh sách các chương và các trang trong một số cấu trúc dữ liệu trong khi phân tích cú pháp. Bạn có thể gửi mã liên quan đến SAX của bạn không? –
@ har07 Cảm ơn bạn đã cập nhật. Tôi sẽ sử dụng DOM Parser. Bạn có thể vui lòng cung cấp cho tôi giải pháp bằng cách sử dụng DOM không? – Krish