如何将字符串转化为Jsoup的Document 对象

时间:2024-04-23 12:16:28

有些时候在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链接的地址及文本:
代码如下:

    1. /**
    2. * 文件名:Chapter1.java
    3. *
    4. * 日期:2015年7月12日
    5. *
    6. */
    7. import org.jsoup.Jsoup;
    8. import org.jsoup.nodes.Document;
    9. import org.jsoup.nodes.Element;
    10. import org.jsoup.select.Elements;
    11. /**
    12. *
    13. *
    14. *
    15. *
    16. *
    17. * @version: 2015年7月12日 下午4:55:41
    18. */
    19. public class Chapter1 {
    20. /**
    21. * @author: IT学习者
    22. *
    23. *
    24. * @version: 2015年7月12日 下午4:55:42
    25. */
    26. public static void main(String[] args) {
    27. String html = "<html><head><title>IT学习者</title></head>"
    28. + "<body><div id=\"content\">"
    29. + "<a href='> IT学习者官网 </a>"
    30. + "<a href=''> IT学习者论坛 </a>"
    31. + "</div></body></html>";
    32. Document doc = Jsoup.parse(html);
    33. Element content = doc.getElementById("content");
    34. Elements links = content.getElementsByTag("a");
    35. for (Element link : links) {
    36. String linkHref = link.attr("href");
    37. String linkText = link.text();
    38. System.out.println("linkHref:" + linkHref);
    39. System.out.println("linkText:" + linkText);
    40. }
    41. }
    42. }