元素中提取属性、文本和HTML
问题
完成解析文档并找到一些元素后,想要从这些元素中获取数据。
解决方案
- 获取属性值:使用
Node.attr(String key)
方法 - 获取文本:使用
Element.text()
- 获取HTML:使用
Element.html()
,或合理使用Node.outerHtml()
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>"
描述
上述方法是获取元素数据的核心方法,还有一些附加的方法:
Element.id()
Element.tagName()
Element.className()
和Element.hasClass(String className)
所有这些访问数据的方法都提供有相应的setter方法来改变数据。
其他参考选项
Element
和集合类Elements
的参考文档- 使用URLs
- 使用CSS选择器语法查找元素