有些时候在java操作解析html元素的时候比较繁琐,今天螃蟹就介绍一种可将html转换为document对象的方法——jsoup
jsoup为我们解析html提供了比较全的API接口,我们通过将html转换为document对象后,在java中便可以形同写html标签一般进行元素的解析、属性的获取。
首先看一个例子:
String html="<html><header></header><body>
<div>hello world</div>
</body><html/>";
这是提供的html文本,在转换成document对象后,我们要获取a链接的地址及文本:
代码如下:
- /**
- * 文件名:Chapter1.java
- *
- * 日期:2015年7月12日
- *
- */
-
- import org.jsoup.Jsoup;
- import org.jsoup.nodes.Document;
- import org.jsoup.nodes.Element;
- import org.jsoup.select.Elements;
- /**
- *
-
*
- *
-
*
- *
- * @version: 2015年7月12日 下午4:55:41
- */
- public class Chapter1 {
- /**
- * @author: IT学习者
-
*
- *
- * @version: 2015年7月12日 下午4:55:42
- */
- public static void main(String[] args) {
- String html = "<html><head><title>IT学习者</title></head>"
- + "<body><div id="content">"
- + "<a href='> IT学习者官网 </a>"
- + "<a href=''> IT学习者论坛 </a>"
- + "</div></body></html>";
- Document doc = Jsoup.parse(html);
- Element content = doc.getElementById("content");
- Elements links = content.getElementsByTag("a");
- for (Element link : links) {
- String linkHref = link.attr("href");
- String linkText = link.text();
- System.out.println("linkHref:" + linkHref);
- System.out.println("linkText:" + linkText);
- }
- }
- }