Jsoup Выбрать только самые внутренние div - PullRequest
3 голосов
/ 20 августа 2011

Есть ли способ выбрать в Jsoup только самые внутренние элементы div (т. Е. Элементы div, которые не содержат другие элементы div?)

Чтобы уточнить: я имею в виду только элементы div.То есть, если div содержит элементы, которые не являются div, но не содержат div, он считается (для моего случая) «внутренним div».

Ответы [ 2 ]

3 голосов
/ 20 августа 2011

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 голос
/ 26 августа 2011

Вы можете использовать селектор, например, div:not(:has(div)) - т.е. "найти div, которые не содержат div".

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