Jsoup没有选择器没有返回结果

时间:2014-09-02 17:54:46

标签: java jsoup

尝试使用Jsoup选择器选择div中具有类“content”的所有内容,但同时不选择任何具有class social或media的div。我知道我可以做一个简单的选择和循环,但是我会期望:not function不能用于我的目的。也许,我的选择器语法错了。

public static void main(String args[]) throws ParseException {
    String html = "<html>\n" +
            "<body>\n" +
            "<div class=\"content\">\n" +
            "\t<p>some paragraph</p>\n" +
            "\t<div class=\"social media\">\n" +
            "\tfind us on facebook\n" +
            "\t</div\n" +
            "</div>\n" +
            "</body>\n" +
            "</html>";
    Document doc = Jsoup.parse(html);
    Elements elements = doc.select("div.content div:not(.social)");
    System.out.println(elements.text());
}

预期结果:“某段”

实际结果:null

1 个答案:

答案 0 :(得分:4)

您的选择器不匹配没有class="social"的div并且是class="content" div的子项。要获得预期的结果,请使用此

Elements elements = doc.select("div.content :not(.social)");

或者这个

Elements elements = doc.select("div.content").not(".social");