当前位置: 首页 > 面试题库 >

Jsoup选择并迭代所有元素

宋斌
2023-03-14
问题内容

我将通过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>

如果我选择使用body,我会在一行中得到结果,例如,

Test Hello All Second Page Test

相反,我想选择所有元素并逐个迭代并产生如下结果:

Test
Hello All
Second Page
Test

使用jsoup可以吗?

谢谢,
卡尔提克


问题答案:

您可以使用*选择器选择文档的所有元素,然后使用分别获取每个元素的文本Element#ownText()

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

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


 类似资料:
  • 问题内容: 我想使用JSoup从文档中选择所有注释。我想做这样的事情: 我已经试过了: } 但是在日食“不兼容的条件操作数类型元素和注释”中发生以下错误。 干杯, 问题答案: 由于您需要应用到节点对象,而不是元素,因此:

  • 本文向大家介绍Jsoup 使用CSS选择器选择元素,包括了Jsoup 使用CSS选择器选择元素的使用技巧和注意事项,需要的朋友参考一下 示例 您可以在此处找到支持的选择器的详细概述。

  • Jsoup将每个文本保存为textnode,包括元素之间的\r\n内容。我想要选择页面上的所有真实文本,并选择它的父文本以删除该父文本中的每一个文本。 我现在有这个: 它不会删除包含\n的所有textnodes,所以它会尝试删除正文,因为这是第一个包含textnodes的元素。 我只想选择所有带有文本的元素,并做element.parent().children().remove(); 也没有按照

  • 主要内容:Jsoup 选择器 语法,Jsoup 选择器 说明,Jsoup 选择器 示例以下示例将展示在将 HTML 字符串解析为 Document 对象后选择器方法的使用。jsoup 支持类似于 CSS 选择器的选择器。 Jsoup 选择器 语法 document : 文档对象代表 HTML DOM。 Jsoup : 解析给定 HTML 字符串的主类。 html : HTML 字符串。 sampleDiv : 元素对象表示由 id“sampleDiv”标识的 html 节点元素。

  • 我需要迭代两个元素的所有组合:在集合[1,2,3,4]中,我想迭代[(1,2),(1,3),(1.4),(2,3),,(2,4),(3,4)]。是否有现有的工具可以执行此操作? 这段代码将执行两倍于所需的操作,因为在两个循环中都将访问每个对象。 为此编写自己的方法是微不足道的,我只是不想发明轮子。我期望在Guava或Collections API中找到这个,但是没有找到这样的功能。

  • 我尝试使用布尔值来仅显示是否找到我使用的代码: 然后在两个打印语句中,我输入: 并在底部放置: 并且仍然在为每个循环的每一次迭代获取输出。我试图做的是在中的每一次获得一个输出,该数字出现在已排序和未排序的中,然后是数组列表中所有数字的总和。 编辑1:我得到的当前输出是,它表示有多少个数字,因此它输出的是 time的数量,其中 是numOfNumbers。我希望它只输出它在两个数组中出现的次数。编辑