String html = "<p>An <a href='http://example.com/'><b>example</b></a> link.</p>";
Document doc = Jsoup.parse(html);
Element link = doc.select("a").first();
String text = doc.body().text(); // "An example link"
String linkHref = link.attr("href"); // "http://example.com/"
String linkText = link.text(); // "example""
String linkOuterH = link.outerHtml();
// "<a href="http://example.com"><b>example</b></a>"
String linkInnerH = link.html(); // "<b>example</b>"
在这个例子中,我想提取“An”,“link”等等。例如,我想在节点之前得到文本,即“An”,在节点之后,即“链接”。在上面的例子中
答案 0 :(得分:4)
要获取段落的文本,请选择它并询问其自己的文本:
Element p = doc.select("p").first();
System.out.println(p.ownText());
如果你想要构造那个文本的部分,你可以遍历那个元素的子节点,只选择那些是TextNode实例:
for (Node node :p.childNodes()){
if (node instanceof TextNode){
System.out.println(((TextNode)node).text());
}
}