【问题标题】:Get n-th child Element with Jsoup使用 Jsoup 获取第 n 个子元素
【发布时间】:2018-08-07 13:58:02
【问题描述】:

例如一个网站有这样的代码:

<div>
    <div>
        first
    </div>
    <div>
        second
    </div>
    <div>
        third
    </div>
</div>

我想用“Jsoup”获取“第二个”div 文本,它没有属性或类。

【问题讨论】:

    标签: java html jsoup


    【解决方案1】:

    有几种方法可以做到这一点。 select 返回 Elements 扩展 ArrayList&lt;Element&gt; 的实例,因此您可以选择所有子 div 并在指定索引(从 0 开始)处选择一个,例如

     String html = "<div>\n" +
            "    <div>\n" +
            "        first\n" +
            "    </div>\n" +
            "    <div>\n" +
            "        second\n" +
            "    </div>\n" +
            "    <div>\n" +
            "        third\n" +
            "    </div>\n" +
            "</div>";
    Document doc = Jsoup.parse(html);
    Elements select = doc.select("div > div");
    System.out.println(select.get(1));
    

    输出:

    <div>
      second 
    </div>
    

    你也可以使用:eq(n)选择器(来自official tutorial

    查找兄弟索引等于n的元素;例如表单输入:eq(1)

    喜欢

    System.out.println(doc.select("div > div:eq(1)"));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-02
      • 1970-01-01
      • 2010-10-16
      • 2012-03-29
      • 2018-02-18
      • 2019-09-16
      • 2014-06-08
      • 1970-01-01
      相关资源
      最近更新 更多