繁体   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