Nếu bạn đã quen thuộc với bộ chọn CSS trên HTML, có thể bạn nên biết rằng Jsoup cũng hỗ trợ XML.
Cập nhật: OK, đã được trao downvote rõ ràng là một câu trả lời rất nhiều tranh cãi. Tuy nhiên nó có thể kết thúc dễ dàng hơn và ít chi tiết hơn Xpath khi tất cả những gì bạn muốn là chọn các giá trị nút. API Jsoup cụ thể là rất trơn. Hãy đưa ra một ví dụ cụ thể hơn một chút. Giả sử rằng bạn có một tập tin XML mà trông như thế này:
<?xml version="1.0" encoding="UTF-8"?>
<persons>
<person id="1">
<name>John Doe</name>
<age>30</age>
<address>
<street>Main street 1</street>
<city>Los Angeles</city>
</address>
</person>
<person id="2">
<name>Jane Doe</name>
<age>40</age>
<address>
<street>Park Avenue 1</street>
<city>New York</city>
</address>
</person>
</persons>
Sau đó, bạn có thể đi qua nó như sau:
Document document = Jsoup.parse(new File("/persons.xml"), "UTF-8");
Element person2 = document.select("person[id=2]").first();
System.out.println(person2.select("name").text());
Elements streets = document.select("street");
for (Element street : streets) {
System.out.println(street.text());
}
mà kết quả đầu ra
Jane Doe
Main street 1
Park Avenue 1
Cập nhật 2 : kể từ khi Jsoup 1.6.2 được phát hành vào tháng 3 năm 2012, phân tích cú pháp XML chính thức hỗ trợ được chỉnh sửa bởi API Jsoup.
Tôi nghĩ rằng đó có thể là những gì tôi đang tìm kiếm - có vẻ như nó không nghiêm ngặt như JDOM (không xác nhận), nhưng tôi thích API. – decitrig
Bạn được chào đón. – BalusC
Tôi đã đăng phần thưởng để thêm hỗ trợ truy vấn xpath vào jsoup nếu bất kỳ nhà phát triển nào muốn thêm tính năng này trong http://nextsprocket.com/tasks/add-xpath-to-jsoup-java-html-parser-library –