通过org.jsoup.nodes.Document对带标签文本进行处理

先准备好待处理的标签文本,以下是我的演示样例。

<p>eee</p>
<p><img src="xxxxxx" uploadpic="2019120515755358409796689.jpg" title="2019120515755358409796689.jpg" alt="/xxxxxx/201912/20191205/2019120515755358409796689.jpg" width="550"/><span>2</span></p>
<p><img videoid="4058279638149" src="xxxxxxxxx/4058279638148.jpg?x-oss-process=image/watermark,image_dmlkZW9QbGF5LnBuZw==,g_center" filename="QQ视频20191023163644.mp4" filesize="9717299" resourcetype="0" width="300px" style="cursor: pointer;" height="177px"/>
<img audioid="4058282641541" filename="龙婷儿 - 狂浪.mp3" src="xxxxxxx/4058282641541.jpg" width="586px" style="cursor: pointer;"/></p>
<p><img src="xxxxxx/201912/20191205/2019120515755358646384020.jpg" uploadpic="2019120515755358646384020.jpg" title="2019120515755358646384020.jpg" alt="/xxxxxxxx/201912/20191205/2019120515755358646384020.jpg" width="550"/></p>
<p><br/></p>

①将本文转化为Document对象

这里我使用变量s来接收

String s = "带处理文本";

Jsoup提供了很多方法,我这里选择Jsoup.parse(s),大家可以根据实际需求选择。

Document document = Jsoup.parse(s);

②选择要处理的标签

通过第一步我们已经获取到了Document对象,接下来就是解析标签了。

这里以<img>为例:

Document document = Jsoup.parse(s);
Elements es = document.select("img");
System.out.println(es.size());
for(Element element:es) {
	  System.out.println(element);
 }

运行结果: 

可以看到我们拿到了所有<img>标签 。

③获取、修改、移除标签中的属性

可以通过以下代码获取标签中的所有属性:

Attributes  as = element.attributes();

返回的是标签中的所有属性集合

假设我们想获取src的值,在②步骤中的遍历中添加如下代码:

element.attr("src");

结果:

也可以使用通过以下方式:

Attributes  as = element.attributes();
System.out.println(as.get("src"));

如果我们想替换src的值应该如何操作呢?

也很简单只需要使用如下代码:

element.attr("src", "aaaaaaaaa");

第一个参数是选择你带替换的属性名,第二个要替换的值

我这里选择了第一个<img>标签进行替换

结果:

 移除指定属性:

element.removeAttr("uploadpic");

结果: 

可以看到uploadpic这个属性已经不在了

④删除指定标签,输出处理之后的结果

Document document = Jsoup.parse(html);//html指代需要处理的内容
Element element = document.selectFirst("img");//获取第一个img标签元素
element.remove(); //移除
String result = document.selectFirst("body").html();

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值