文档章节

Jsoup 数据修改

风雪满弓刀
 风雪满弓刀
发布于 2017/05/31 17:37
字数 523
阅读 13
收藏 0

1 设置属性的值

在解析一个Document之后可能想修改其中的某些属性值,然后再保存到磁盘或都输出到前台页面。

可以使用属性设置方法 Element.attr(String key, String value), 和 Elements.attr(String key, String value).假如你需要修改一个元素的 class 属性,可以使用 Element.addClass(String className) 和Element.removeClass(String className) 方法。

Elements 提供了批量操作元素属性和class的方法,比如:要为div中的每一个a元素都添加一个rel="nofollow" 可以使用如下方法:

doc.select("div.comments a").attr("rel", "nofollow");

说明:与Element 中的其它方法一样,attr 方法也是返回当前 Element (或在使用选择器是返回 Elements 集合)。这样能够很方便使用方法连用的书写方式。比如:

doc.select("div.masthead").attr("title", "jsoup").addClass("round-box");

2 设置一个元素的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>
操作 含义
Element.html(String html) 先清除元素中的HTML内容,然后用传入的HTML代替。
Element.prepend(String first) 元素内部HTML的前面添加HTML内容
Element.append(String last) 元素内部HTML的后面添加HTML内容
Element.wrap(String around)  对元素包裹一个外部HTML内容。

3 设置元素的文本内容

    Element div = doc.select("div").first(); // <div></div>
    div.text("five > four"); // <div>five &gt; four</div>
    div.prepend("First ");
    div.append(" Last");
    // now: <div>First five &gt; four Last</div>
操作 含义
Element.text(String text)  清除一个元素中的内部HTML内容,然后提供的文本进行代替
Element.prepend(String first)  在元素的内部html前添加文本节点。
 Element.append(String last) 在元素的内部html后添加文本节点。

对于传入的文本如果含有像 <> 等这样的字符,将以文本处理,而非HTML

© 著作权归作者所有

上一篇: Jsoup HTML 清理
下一篇: Jsoup 数据抽取
风雪满弓刀
粉丝 1
博文 62
码字总数 35922
作品 0
海淀
程序员
私信 提问
OSChina原创:使用 jsoup 对 HTML 文档进行解析和操作

jsoup 简介 Java 程序在解析 HTML 文档时,相信大家都接触过 htmlparser 这个开源项目,我曾经在 IBM DW 上发表过两篇关于 htmlparser 的文章,分别是:从HTML中攫取你所需的信息 和扩展 HT...

红薯
2010/12/17
17.7K
38
使用 jsoup 对 HTML 文档进行解析和操作

刘 柄成, 站长, 开源中国社区 简介: jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作...

SeanCai
2011/03/02
0
0
jsoup 1.1.1 发布,HTML解析器

jsoup 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容,当然也可以直接修改 DOM 数据。 此次 jsoup 直接从 0.3.1 版本直接升级到 1.1.1 ,倒不知道是何故。 该版本支持新的...

红薯
2010/06/08
1K
0
使用Jsoup解析html网页

一、 JSOUP简介 在以往用java来处理解析HTML文档或者片段时,我们通常会采用htmlparser(http://htmlparser.sourceforge.net/)这个开源类库。现在我们有了JSOUP,以后的处理HTML的内容只需要...

神剑戎
2013/05/01
0
1
开源中国8-2期软件推荐 jsoup — Java的HTML解析器

jsoup 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容。本站就是采用 jsoup 来做 HTML 处理。 示例代码: File input = new File("/tmp/input.html"); Document doc = Jso......

鉴客
2010/08/09
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql免安装版,服务无法启动没有抱任何错误

1.解压 2.新建my.ini [mysqld]# Remove leading # and set to the amount of RAM for the most important data# cache in MySQL. Start at 70% of total RAM for dedicated server, e......

榴莲黑芝麻糊
19分钟前
0
0
Qt编写安防视频监控系统3-通道交换

一、前言 最开始写通道交换的功能的时候,走了很多弯路,比如最开始用最初级的办法,触发交换的时候,先关闭视频,然后设置新的url重新打开视频,这样处理非常低级而且耗内存还卡还很慢,毕竟...

飞扬青云
20分钟前
0
0
如何远程调试部署在CloudFoundry平台上的nodejs应用

网络上关于如何本地调试nodejs应用的教程已经很多了,工具有Chrome开发者工具,Visual Studio Code,和nodejs周边的一些小工具等等。 在实际情况中,我们可能遇到本地运行良好,但是部署到C...

JerryWang_SAP
41分钟前
5
0
微信扫码访问网站调用默认浏览器打开如何实现?

我们在微信内分享链接或二维码的时候,我们会发现我们的网站是可以在浏览器里正常打开的,但就是不能在微信里打开,提示 “ 已停止访问该网页 ”,无论是聊天框也一样。说是系统检测到您的网...

明尼苏达哈士奇
49分钟前
3
0
一份Java程序员进阶架构师的秘籍,你离架构师还差多远

一、如何定义架构师 Java架构师,首先要是一个Java程序员,熟练使用各种框架,并知道它们实现的原理。jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,怎么解决并...

我最喜欢三大框架
57分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部