遍历文档
将html解析成一个Document后,就可以使用类似Dom的方法进行操作
File input = new File("/tmp/input.html");
Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");
Element content = doc.getElementById("content");
Elements links = content.getElementsByTag("a");
for (Element link : links) {
String linkHref = link.attr("href");
String linkText = link.text();
}
查找元素
getElementById(String id) 根据id获取相应的信息
getElementsByTag(String tag) 根据标签获取相关的信息
getElementsByClass(String className) 根据获取相应的信息
getElementsByAttribute(String key) 根据属性获取相关的信息 (and related methods)
Element siblings:
siblingElements()
firstElementSibling()
lastElementSibling()
nextElementSibling()
previousElementSibling()
Graph: parent(), children(), child(int index)
元素数据
attr(String key)获取属性
attr(String key, String value)设置属性
attributes()获取所有属性
id(), className() and classNames()
text()获取文本内容
text(String value) 设置文本内容
html()获取元素内HTML
html(String value)设置元素内的HTML内容
outerHtml()获取元素外HTML内容
data()获取数据内容(例如:script和style标签)
tag() and tagName()
操作html和文本
append(String html) 在元素内部前面添加html内容
prepend(String html) 在元素内容后面添加html内容
appendText(String text)
prependText(String text)
appendElement(String tagName)
prependElement(String tagName)
html(String value)
wrap(String arround) 对元素包裹一个外部html内容
Element div = doc.select("div").first(); // <div></div>
div.html("<p>lorem ipsum</p>"); // <div><p>lorem ipsum</p></div>
div.prepend("<p>First</p>");//在div前添加html内容
div.append("<p>Last</p>");//在div之后添加html内容
// 添完后的结果: <div><p>First</p><p>lorem ipsum</p><p>Last</p></div>
Element span = doc.select("span").first(); // <span>One</span>
span.wrap("<li><a href='http://example.com/'></a></li>");
// 添完后的结果: <li><a href="http://example.com"><span>One</span></a></li>