我想从除<blockquote>
元素之外的html中选择所有内容。如何使用Jsoup以最简单的方式执行此操作?
我知道有一个:not
语法,但在这个例子中如何使用它?
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class AppMain {
public static void main(String[] args) throws IOException {
String html = "<body> <blockquote> ...remove.this... </blockquote> ...get.this... </body>";
Document d = Jsoup.parse(html);
Element element = d.select(:not("blockquote").first(); // doesn't work
System.out.println(element.text()); // here I want get only: `...get.this...'
}
}
答案 0 :(得分:1)
你在这一行中有一个语法错误(你的编译器应该抱怨它):
d.select(:not("blockquote"); // doesn't work
这将是有效的语法:
d.select(":not(blockquote)");
因为select
是一个Java method,它带有String
个参数。所以你必须给它一个String
,例如:
d.select("something");
此"something"
必须是选择器。在您的情况下:":not(blockquote)"
。
另一种方法是选择所有<blockquote>
元素和remove元素:
d.select("blockquote").remove()
// after that, work with d