gpt4 book ai didi

java - 是否可以使用 JSoup 检测空引用?

转载 作者:行者123 更新时间:2023-11-30 07:26:36 28 4
gpt4 key购买 nike

我正在尝试使用 Java 中的 JSoup 获取网页的一些数据。我使用 JSoupJSON 解析器的混合来执行此操作。

假设网页中有很多具有相同类名的元素,而另一个元素也具有各自的类名,例如:

<div class="foo">
<span class="bar">Whatever</span>
</div>

我检索所有元素的 bar 类中的数据,如下所示:

Elements elements = Jsoup
.parse(html)
.body().select(".foo .bar");

问题的出现是因为有些 div 内部没有 span 标签,因此当我检索网页拥有的元素的完整集合时,不会附加不存在的元素(它有道理,但我需要检测这些元素)。

我想稍后将所有数据存储在某个地方,但要保持列表的顺序,我的意思是,在 span 不包含的元素中放置 -存在,因为如果不存在,如果您有以下序列:

1. foo
2. null
3. bar

仅存储第一个和第三个位置数据,第三个位置将是第二个位置。

是否可以使用 JSoup 检测空引用?

提前致谢!

最佳答案

Jsoup 选择仅返回现有元素。要检测丢失的元素,您可以首先查询顶部选择器,然后迭代结果以检查顶部元素是否包含所需的子元素:

Elements fooElements = Jsoup
.parse(html)
.body().select(".foo");

Elements elements = new Elements()
for(Element el : fooElements) {
elements.add(el.select(".bar").first());
}

在上面的示例中,elements 将包含具有 foo 类和 null 的跨度。

关于java - 是否可以使用 JSoup 检测空引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36748867/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com