1.HtmlCleaner的文档对象模型拥有了一些函数,处理节点和属性,所以在序列化之前搜索或者编辑是非常容易的。灵妙手机管家下载-灵妙手机管家3.6.6.2 安卓版
2.提供基本HtmlCleanerDOM的XPath支持
3.使用XML配置文件让创建定制tag变得更加容易
4.修复多个bug以及API改进
写一个测试用的html文件:html-clean-demo.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
< html xmlns = "http://www.w3.org/1999/xhtml " xml:lang = "zh-CN" dir = "ltr" >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=GBK" />
< meta http-equiv = "Content-Language" content = "zh-CN" />
< title > html clean demo </ title >
</ head >
< body >
< div class = "d_1" >
< ul >
< li > bar </ li >
< li > foo </ li >
< li > gzz </ li >
</ ul >
</ div >
< div >
< ul >
< li > < a name = "my_href" href = "1.html" > text-1 </ a > </ li >
< li > < a name = "my_href" href = "2.html" > text-2 </ a > </ li >
< li > < a name = "my_href" href = "3.html" > text-3 </ a > </ li >
< li > < a name = "my_href" href = "4.html" > text-4 </ a > </ li >
</ ul >
</ div >
</ body >
</ html >
Html代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<meta http-equiv="Content-Language" content="zh-CN"/>
<title>html clean demo</title>
</head>
<body>
<div class="d_1">
<ul>
<li>bar</li>
<li>foo</li>
<li>gzz</li>
</ul>
</div>
<div>
<ul>
<li><a name="my_href" href="1.html">text-1</a></li>
<li><a name="my_href" href="2.html">text-2</a></li>
<li><a name="my_href" href="3.html">text-3</a></li>
<li><a name="my_href" href="4.html">text-4</a></li>
</ul>
</div>
</body>
</html>
模拟需求:取出title,name="my_href"的链接,div的class="d_1"下的所有li内容。下面用htmlcleaner写代码,HtmlCleanerDemo.java
package com.chenlb;
import java.io.File;
import org.htmlcleaner.HtmlCleaner;
import org.htmlcleaner.TagNode;
/**
* htmlcleaner 使用示例.
*
* @author chenlb 2008-11-26 下午02:12:02
*/
public class HtmlCleanerDemo {
public static void main(String[] args) throws Exception {
HtmlCleaner cleaner = new HtmlCleaner();
TagNode node = cleaner.clean(new File( "html/html-clean-demo.html" ), "GBK" );
//按tag取.
Object[] ns = node.getElementsByName("title" , true ); //标题
if (ns.length > 0 ) {
System.out.println("title=" +((TagNode)ns[ 0 ]).getText());
}
System.out.println("ul/li:" );
//按xpath取
ns = node.evaluateXPath("//div[@class='d_1']//li" );
for (Object on : ns) {
TagNode n = (TagNode) on;
System.out.println(" text=" +n.getText());
}
System.out.println("a:" );
//按属性值取
ns = node.getElementsByAttValue("name" , "my_href" , true , true );
for (Object on : ns) {
TagNode n = (TagNode) on;
System.out.println(" href=" +n.getAttributeByName( "href" )+ ", text=" +n.getText());
}
}
}
Java代码
package com.chenlb;
import java.io.File;
import org.htmlcleaner.HtmlCleaner;
import org.htmlcleaner.TagNode;
/**
* htmlcleaner 使用示例.
*
* @author chenlb 2008-11-26 下午02:12:02
*/
public class HtmlCleanerDemo {
public static void main(String[] args) throws Exception {
HtmlCleaner cleaner = new HtmlCleaner();
TagNode node = cleaner.clean(new File("html/html-clean-demo.html"), "GBK");
//按tag取.
Object[] ns = node.getElementsByName("title", true); //标题
if(ns.length > 0) {
System.out.println("title="+((TagNode)ns[0]).getText());
}
System.out.println("ul/li:");
//按xpath取
ns = node.evaluateXPath("//div[@class='d_1']//li");
for(Object on : ns) {
TagNode n = (TagNode) on;
System.out.println(" text="+n.getText());
}
System.out.println("a:");
//按属性值取
ns = node.getElementsByAttValue("name", "my_href", true, true);
for(Object on : ns) {
TagNode n = (TagNode) on;
System.out.println(" href="+n.getAttributeByName("href")+", text="+n.getText());
}
}
}
cleaner.clean()中的参数,可以是文件,可以是url,可以是字符串内容。个人认为:比较常用的应该是evaluateXPath、getElementsByAttValue、getElementsByName方法了。另外说明下,htmlcleaner对不规范的html兼容性比较好。
HtmlCleaner是一个免费开源的适用范围广的Java语言Html文档解析器,它能重新整理HTML文档的每个元素并生成结构良好(Well-Formed)的HTML文档。默认它遵循的规则是类似于大部份web浏览器为创文档对象模型所使用的规则,户可以提供自定义tag和规则组来进行过滤和匹配。
它被设计的小,快速,灵活而且独立。HtmlCleaner也可用在Java代码中,当命令行工具或Ant任务。解析后编程轻量级文档对象,能够很容易的被转换到DOM或者JDom标准文档,或者通过各种方式(压缩,打印)连续输出XML。
展开内容
9.8/483.9M
水淼文章图片转存器是专门为网络编辑们制作的一款伪原创小工具。使用该工具可以全自动下载你浏览的文章中的网络图片,并为己所用;软件能自动替换这些图片地址为图片存放目...
8.3/1,329.2M
让大家来帮助你一起来创造更多的原创音乐,在这里你可以跟更多知名作家合力完成一首歌曲,同时也是让你的音乐有版权,心动的用户可以来柴火音乐里面尝试下!柴火音乐手机版...
9.6/428.7M
美剧行尸走肉的大热造就了又一部同名游戏,这次可不是AVG冒险类型了,面是FPS潜入类游戏,行尸走肉:生存本能将游戏的重点放在了生存,虽然武器在你的手中,但是倘若...
7.9/1,308.5M
AdobeDreamweaverCC2019是一款最经典的网页制作软件,经典网页三剑客之一,用户量非常广,适合专业的网页设计人员来使用,本站为您提供免费版本!D...
8.1/1,565.4M
得分未来app是一款针对于备战国考和省考笔试的广大用户所打造的一款学习软件,在得分未来app中可进行知识点刷题、模块刷题、试卷模考测试掌握情况,还提供一些视频课...
9.5/437.5M
注意,这里是需要需谷歌环境的,而且,更新是需要几个G的,所以,确定好自己的手机满足条件,目前这款游戏是已经在国内被腾讯代理了,想玩中文版的可以在官网地址进行下载...
9.8/944.3M
二哈恶搞表情包是一组哈士奇各种搞笑的表情包,相信有很多人都喜欢哈士奇,那么这款哈士奇表情包非常适合你,有需要的可以到本站下载收藏!表情包内容:1.那你很棒棒哦2...
8.3/1,259.1M
小小gif录制软件一款非常实用的GIF录制软件,很多网络爆红GIF动图就是使用这款小小gif录制软件制作而成,使用此软件录制出来的画质清晰,便于传输和存储,非常...
9.2/1,708.3M
2018年的第一场雪,许多同学都看到了,非常的美,老师要求写一篇2018年初雪的作文500字,小编为你带来了精选范文,可以参考学习!2018年初雪的作文500字...
7.7/1,856.5M
高州阳光论坛网手机客户端是一款为广大网友开发的交流平台,随着网站的发展,已拥有庞大的会员群体、强而有力的技术后盾、丰富的分类内容,成熟的网站运营经验,更多备受赞...
7.9/1,247.7M
味库美食视频app汇集了众多的美食视频,倡导“轻烹饪”的生活理念,希望成为你身边实用的美食技能百科全书。功能介绍【厨房不是战场,烹饪应该是美好的时光】你还在焦虑...
8.7/232.3M
看着不少人因为英雄联盟黑屏而无法正常玩耍的时候,小编总会热情拿出lol黑屏修复补丁,直接借助它就可以轻松的解决掉黑屏问题,跟能让你畅快的游戏!英雄联盟进入游戏黑...
9.5/274.7M
可以输入职业快速匹配职业,二维码进入社交圈。线下活动学习,观看视频课程。蛋壳儿你的职场起点站。为欲鲤跃龙门的你制定专属定制培养方案!蛋壳儿专注于教育行业的就业规...
7.6/504.0M
小米MIUI9无损刷机包,是一款主要针对小米miui9的刷机包,MIUI9刷机包重新设计了锁屏界面和过度动画,加入了分屏功能,从而整体提升小米手机使用体验。MI...
查看
9.3/473.5M
简洁扁平化通用商务PPT模板是一套灰色阴影设计的模板,相对于来说很好用,模式很不错,可以更为直观的叙述表达我们的思想。ppt是做什么的PPT,一种演示文稿图形程...
7.7/34.0M
学习英语沟通应用程序在智能手机上支持学习英语直观,高效而不无聊。应用程序可以帮助你提高学习,研究,旅游,留学,劳务输出等方面。日常英语沟通学习工具(LearnE...
8.3/465.2M
火柴人跳崖是一款超级好玩的跳跃类手游。游戏以经典火柴人为题材背景,丰富的玩法内容,多种游戏模式。你将点击屏幕控制火柴人跳下悬崖,还能在空中做出各种的姿势哦,非常...
9.9/1,887.7M
英泽电子FCARD3500TTTS语音库修复包主要提供给这项产品修复语音提示功能,该一卡通设备在windows系统下可能会出现语音库无法播放的问题,通过该修复包...
8.4/170.7M
本图集适用于各类结构类型下现浇混凝土独立基础、条形基础、筏形基础(分为梁板式和平板式)及桩基础施工图设计图集中包括常用的现浇混凝土独立基础、条形基础、筏形基础(...
8.9/1,224.8M
屏幕方向管理器中文版是一款帮助手机用户,自由旋转屏幕的软件,很多时候,有的软件只能横屏或者竖屏,这款软件就能自由设置横竖屏,突破软件本身的局限,有需要的朋友们快...
8.6/1,591.7M
还在为英语写作而烦恼吗?不用担心,星空英语作文网手机版能帮你解决问题,这里有大量的优秀英语作文和英语作文模板,能帮你快速的提高英语写作水平,想写出好的英语作文的...
9.3/95.4M
模糊图片秒转高清图app是一款可以让模糊的图片变清楚的软件,如果你有一张非常重要的照片但是非常模糊,没关系直接拖动到模糊照片变清晰软件中进行一键处理即可获得一张...
8.9/384.8M
平衡板(Balanced),一款考验玩家平衡感的游戏,很休闲可玩性很好,在木板上方加入方块,使左右平衡,非常具有挑战性的游戏。游戏简介你是好cathing平衡?...
9.0/174.0M
图片拼接拼图app是一款非常好用的图片编辑软件,这款软件操作简单,功能十分强大,大家可以自由实用,并且这款软件无各种不良小广告,所有素材模板均可免费下载,十分方...