Java Jsoup select查询具有相同类名的多个元素
以下是DOM的外观:Java Jsoup select查询具有相同类名的多个元素,java,jsoup,Java,Jsoup,以下是DOM的外观: <div class="content-section generic-section"> <div class="content-section generic-section"> <div class="content-section generic-section"> 我需要从每个div元素中获取内容。使用select查询时,所有三个内容都在同一个变量中获取。如何解决此问题。关于此问题: 使用select查询时,所有三个内容都
<div class="content-section generic-section">
<div class="content-section generic-section">
<div class="content-section generic-section">
我需要从每个div元素中获取内容。使用select查询时,所有三个内容都在同一个变量中获取。如何解决此问题。关于此问题:
使用select查询时,所有三个内容都在同一个变量中获取
这三个元素都将被分配到元素的一个实例中,该实例是数组列表的一种类型,因此,为了查询这三个元素中的每一个,您可以
- 迭代数组列表:
for(Element:elements){…}
- 按位置选择条目:
元素。获取(0)
,元素。获取(1)
等
- 使用
prev()
和next()
- 选择
first()
或last()
- 使用访问者模式来遍历
元素
- 获取每个条目的
文本
:元素。eachText()
在中有更多选项,您可以使用选择方法获取Elements对象。
正如@glyching提到的,您可以遍历它。
我使用forEach创建了测试代码,如下所示
public void test() {
Document doc = Jsoup.parse("<html><body><div class=\"content-section generic-section\">contents1</div><div class=\"content-section generic-section\">contents2</div><div class=\"content-section generic-section\">contents3</div></body></html>");
// get div elements
Elements elements = doc.select("div.content-section.generic-section");
// display "contents1" "contents2" "contents3"
elements.forEach(element -> System.out.println(element.text()));
}
公共无效测试(){
Document doc=Jsoup.parse(“contents1contents2contents3”);
//获取div元素
元素=文件选择(“div.content-section.generic section”);
//显示“contents1”“contents2”“contents3”
element.forEach(element->System.out.println(element.text());
}