问题

在解析文档并找到一些元素之后,您将需要获取这些元素中的数据。

  • 要获取属性的值,请使用该[Node.attr(String key)](https://jsoup.org/apidocs/org/jsoup/nodes/Node.html#attr-java.lang.String-)方法
  • 对于元素(及其组合子元素)上的文本,请使用 [Element.text()](https://jsoup.org/apidocs/org/jsoup/nodes/Element.html#text--)
  • 对于HTML,使用[Element.html()](https://jsoup.org/apidocs/org/jsoup/nodes/Element.html#html--)[Node.outerHtml()](https://jsoup.org/apidocs/org/jsoup/nodes/Node.html#outerHtml--)适当

例如:

  1. String html = "<p>An <a href='http://example.com/'><b>example</b></a> link.</p>";
  2. Document doc = Jsoup.parse(html);
  3. Element link = doc.select("a").first();
  4. String text = doc.body().text(); // "An example link"
  5. String linkHref = link.attr("href"); // "http://example.com/"
  6. String linkText = link.text(); // "example""
  7. String linkOuterH = link.outerHtml();
  8. // "<a href="http://example.com"><b>example</b></a>"
  9. String linkInnerH = link.html(); // "<b>example</b>"

描述

上述方法是元素数据访问方法的核心。还有其他人:

  • [Element.id()](https://jsoup.org/apidocs/org/jsoup/nodes/Element.html#id--)
  • [Element.tagName()](https://jsoup.org/apidocs/org/jsoup/nodes/Element.html#tagName--)
  • [Element.className()](https://jsoup.org/apidocs/org/jsoup/nodes/Element.html#className--)[Element.hasClass(String className)](https://jsoup.org/apidocs/org/jsoup/nodes/Element.html#hasClass-java.lang.String-)

所有这些访问器方法都有相应的setter方法来更改数据。

也可以看看