Java Jsoup select查询具有相同类名的多个元素

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查询时,所有三个内容都

以下是DOM的外观:

<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());
}