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

  • Post author:
  • Post category:其他




有些时候在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. }