Jsoup只选择最里面的div

时间:2011-08-19 20:37:00

标签: java html-parsing jsoup

有没有办法在Jsoup中只选择最里面的div(即包含其他div的div)?

澄清:我指的只是div。也就是说,如果div包含的元素不是div但它不包含任何div,则认为(对于我的情况)是“最里面的div”。

2 个答案:

答案 0 :(得分:3)

Jsoup适用于CSS选择器。但是你想要的是CSS选择器无法实现的。所以这是不可能的。您需要检查循环中的每个div。

Elements divs = document.select("div");
Elements innerMostDivs = new Elements();

for (Element div : divs) {
    if (div.select(">div").isEmpty()) {
        innerMostDivs.add(div);
    }
}

// ...

答案 1 :(得分:1)

您可以使用div:not(:has(div))之类的选择器 - 即“查找不包含div的div”。

Elements innerMostDivs = doc.select("div:not(:has(div))");