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

如何将字符串转化为Jsoup的Document 对象的更多相关文章

  1. 将JSON字符串反序列化为指定的.NET对象类型

    目录导航: 前言: 方法一.在项目中定义对应的对象参数模型,用于映射反序列化出来的参数(复杂JSON字符串数据推荐使用): 方法二.直接将JSON字符串格式数据反序列化转化为字典数据(简单JSON字符 ...

  2. 将十六进制的字符串转化为UIImage

    最近写一个项目,有验证码,但是接口返回的并不是验证码图片的URL,而是返回的字节数组16进制字符串.这样就需要把16进制字符串首先字节数组,其次再把字节数组转化为NSData,最后再把NSData转化 ...

  3. SQL Server中字符串转化为GUID的标量函数实现

        还是工作中遇到的需求,有时候和外部的系统对接,进行数据的核对功能,外部的系统有时候主键字段列数据类是UNIQUEIDENTIFER(GUID)类型的字符串格式,去除了GUID格式中的分隔符“- ...

  4. nodejs将JSON字符串转化为JSON对象

    如何将JSON字符串转化为JSON对象? JSON.parse(str)       JSON是javascript的一个内置对象,提供了转换JSON对象与字符串互相转换的方法: 问题来了,道理我都懂 ...

  5. python 字符串转化为json、post请求

    在json模块有2个方法, loads():将json数据转化成dict数据 dumps():将dict数据转化成json数据 load():读取json文件数据,转成dict数据 dump():将d ...

  6. 一个将lambda字符串转化为lambda表达式的公共类

    一个将lambda字符串转化为lambda表达式的公共类.StringToLambda 使用方式如下: var module = new Module(); url = url.ToLower();/ ...

  7. Java序列化对象为字符串并将字符串反序列化为对象

    对象的序列化与反序列化其实就是将对象的状态保存下来,一般是保存到文件中,但是其实更常用的是将对象序列化为字符串保存到数据库中,然后在需要读取对象的情况下将字符串反序列化为对象.   可以序列化的类必须 ...

  8. Swift中字符串转化为Class的方法

    Swift中字符串转化为Class的方法 在开发中有时候会根据字符串进行对应类的转化,这样我们就可以动态根据服务器返回的字段,动态的加载类,比如优酷,微博等APP会在节假日等动态的TabBar.这样可 ...

  9. java中将jsonObject字符串转化为Map对象

    java中将jsonObject字符串转化为Map对象 1.我们这里使用json-lib包进行转换,可在http://json-lib.sourceforge.net/下载依赖于下面的jar包: ja ...

随机推荐

  1. YARN 的深入简出

    1.YARN的产生背景 2.YARN的执行流程 3.YARN的概述 4.YARN的环境搭建 5.YARN的架构 6.如何提交作业到YaRN上执行 YARN的产生MapReduce1.x存在多种问题单节 ...

  2. Codeforces Beta Round #61 (Div. 2)

    Codeforces Beta Round #61 (Div. 2) http://codeforces.com/contest/66 A 输入用long double #include<bit ...

  3. ES6之对象的简洁表示法

    ES6 允许直接写入变量和函数,作为对象的属性和方法.这样的书写更加简洁. let name = 'Pirates of the Caribbean', index = 5, captain = { ...

  4. UVa 548 Tree(二叉树最短路径)

    You are to determine the value of the leaf node in a given binary tree that is the terminal node of ...

  5. Java 的静态工厂方法

    本文转载自:https://www.jianshu.com/p/ceb5ec8f1174 序:什么是静态工厂方法 Effective Java 2.1 静态工厂方法与构造器不同的第一优势在于,它们有名 ...

  6. 使用插件和不使用插件实现select的框

    # 1.select框单选 # 方式1 select1 = fields.ChoiceField( choices=[ (1,"select框方式1_1"), (2,"s ...

  7. ELK logstash 启动慢的解决方法

    最近开始测试部署ELK, 在部署logstash的时候出现一个故障: logstash在第一次安装完成以后启动正常, 但是之后启动时间越来越长, 5分钟以上甚至10多分钟.以至于怀疑程序错误, 在重装 ...

  8. C#中泛型的解释(object,list,var,dynamic的区别)

    泛型是 2.0 版 C# 语言和公共语言运行库 (CLR) 中的一个新功能.泛型将类型参数的概念引入 .NET Framework,类型参数使得设计如下类和方法成为可能:这些类和方法将一个或多个类型的 ...

  9. oracle 数据库密码过期

    查询密码过期策略 SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIM ...

  10. python tcp 粘包问题解决、文件下载等

    from socket import * #以下是关于tcp:服务端 和 客户端的小例子#服务端socket_server = socket(AF_INET, SOCK_STREAM) socket_ ...