尝试使用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
答案 0 :(得分:4)
您的选择器不匹配没有class="social"
的div并且是class="content"
div的子项。要获得预期的结果,请使用此
Elements elements = doc.select("div.content :not(.social)");
或者这个
Elements elements = doc.select("div.content").not(".social");