簡體   English   中英

Jsoup選擇並迭代所有元素

[英]Jsoup select and iterate all elements

我將通過jsoup連接到一個url並獲取它的所有內容,但事情是如果我選擇喜歡,

doc.select("body")

它返回一個元素,但我想獲取頁面中的所有元素並逐個迭代它們,例如,

<html>
<head><title>Test</title></head>
<body>
<p>Hello All</p>
<a href="test.html">Second Page</a>
<div>Test</div>
</body>
</html>

如果我選擇使用正文,我會在單行中得到結果,如:

Test Hello All Second Page Test

相反,我想選擇所有元素並逐個迭代並產生結果,如,

Test
Hello All
Second Page
Test

使用jsoup會有可能嗎?

謝謝,
KARTHIK

您可以使用*選擇器選擇文檔的所有元素,然后使用Element#ownText()分別獲取每個Element#ownText()文本。

Elements elements = document.body().select("*");

for (Element element : elements) {
    System.out.println(element.ownText());
}

使用jsoup庫獲取文檔正文中的所有元素。

doc.body().children().select("*");

獲取文檔正文元素中的第一級元素。

doc.body().children();

您可以使用XPath或任何包含XPath的庫

表達式是//text()

這里使用xml測試表達式

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM