有没有办法在Jsoup中只选择最里面的div(即不包含其他div的div)?
澄清:我指的只是div。也就是说,如果div包含的元素不是div但它不包含任何div,则认为(对于我的情况)是“最里面的div”。
答案 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))");