HtmlCleaner是一个免费开源的适用范围广的Java语言Html文档解析器,它能重新整理HTML文档的每个元素并生成结构良好(Well-Formed)的HTML文档。默认它遵循的规则是类似于大部份web浏览器为创文档对象模型所使用的规则,户可以提供自定义tag和规则组来进行过滤和匹配。宏图棋牌软件下载
写一个测试用的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兼容性比较好。
1.HtmlCleaner的文档对象模型拥有了一些函数,处理节点和属性,所以在序列化之前搜索或者编辑是非常容易的。
2.提供基本HtmlCleanerDOM的XPath支持
3.使用XML配置文件让创建定制tag变得更加容易
4.修复多个bug以及API改进
它被设计的小,快速,灵活而且独立。HtmlCleaner也可用在Java代码中,当命令行工具或Ant任务。解析后编程轻量级文档对象,能够很容易的被转换到DOM或者JDom标准文档,或者通过各种方式(压缩,打印)连续输出XML。
展开内容
9.6/922.7M
银河笔与纸GalaxyofPen手游是该游戏电脑版的移植,手游版原汁原味的移植了电脑版游戏的所有内容,非常好玩哦。快点来下载游戏尝试一下吧。游戏介绍《银河笔与纸...
9.9/655.8M
FineShare是一款游戏娱乐平台,在这里你不仅能第一时间了解相关游戏资讯,还能与各个志同道合的网友互相讨论,超多游戏福利能领取,感兴趣的小伙伴快来东坡下载吧...
8.5/1,475.3M
24刻拉,24小时随时随地更新,查询,一款完美的物流管理系统,让你下单更方便,管理物流货物信息更加快捷方便、随时随地都可以进行查询,欢迎有需要的朋友前来东坡下载...
8.3/155.0M
战争机器修改器是一款功能很强大且绿色免费的辅助修改软件,提供无限弹药、一击必杀等多种实用功能,可以体验不一样的游戏魅力,你值得拥有!《战争机器》是由开发3D游戏...
8.4/418.9M
虽然网络上存在不少的视频播放软件,但其中都没有龙大影音盒子强大好用,因为这款不但具备磁力,电驴、ftp、旋风、种子等地址解析功能,而且它里面自带了视直播台500...
7.7/217.2M
一指就能驾驭的飞行跑酷游戏!SkySurfing游戏,你可以驾驶你的飞行器,穿梭在石柱之间,搜集属于自己的徽章与金币,突破自己的记录。游戏简介闪躲,冲刺,滑行,...
8.7/1,706.6M
战地射击模拟器2是一款好玩的动作射击游戏,游戏中有着众多精彩的玩法,且有着丰富的道具可以选择,玩家将挑选自己喜欢的武器另外游戏无闪退,不卡顿黑屏,给你最佳的游戏...
10.0/753.4M
魔法少女之旅九游版是一款高清画质的清新可爱类游戏,在游戏中拥有各种超萌的角色,玩家在这里进行斩杀boss打怪兽,非常的有趣。魔法少女之旅游戏介绍轻松滑动手指即可...
9.5/43.9M
2017智慧树西方经济学的奇妙世界答案是小编在网上最新整理的标准答案,方便学习西方经济学的奇妙世界的考生完美通关考试,相信很多用户都需要的,赶紧来下载吧!201...
9.3/1,802.0M
瑞金医院移动助医系统是瑞金医院专用的医院服务app,可以通过这款app来了解瑞金医院,并通过app来预约挂号,免掉了排队的麻烦,还可以查询就医记录,账户等信息,...
7.8/1,444.8M
准备吧怪兽手游是根据飞天小女警改编的一款动作冒险类型游戏,三个小女警你可以随意选择,拥有不同的连招的玩法,简单有趣,每一关卡挑战不同的怪兽!准备吧怪兽手游介绍准...
7.8/1,222.1M
一款横版的动作通关游戏,踹他一脚汉化版KicktheMan,有趣的任务角色,穿越各种场景,可以解锁更多战斗动作,打倒拦路的敌人。游戏介绍踹你一脚游戏,其中Dan...
8.3/559.2M
率土之滨百度版是一款以三国背景为题材的策略手游,在游戏中你将重返三国时代,招兵买马,排兵布阵。实现统一三国争霸天下的雄途伟业。喜欢三国类题材手游朋友们可点击下载...
9.3/188.8M
玩美壁纸app是一款DIY壁纸锁屏软件!软件中有海量的壁纸资源等你选择,用户也可以根据自己喜欢的壁纸进行下载设置壁纸,喜欢的来本站下载使用吧。软件介绍玩美壁纸D...
7.9/148.8M
保护小橘子是一款趣味十足的小游戏,玩家需要借助各种障碍物来躲避猫咪的视线,以确保控制的小橘子可以安全到达终点,游戏不仅考验玩家的思维能力,温馨的画风还能让玩家深...
9.8/1,342.9M
雷电DJ舞曲播放器是一个绿色免费的DJ音乐播放器,软件包含了非常丰富的DJ舞曲,让你尽情嗨个够!对于喜欢DJ的朋友来说,普通的播放器根本无法满足他们的需求,因为...
8.2/648.7M
上线送钻石vip,送无级别神兵!送虹光飞剑!送青龙!上线20分钟vip免费赠送!!《九曲封神》是一款以异兽吞噬异兽进化为主的玄幻手游,背景为神秘又古老的异兽修真...
8.1/1,177.2M
三国急攻防九游版是一款三国策略手游,人物角色立体精致,场景画面精细唯美。游戏融合了多种全新玩法,四大职业体系,独创无限回廊、付费副本、国战等多种养成主线、数十位...
7.8/1,571.6M
在线进行政务处理,掌握最新资讯和音乐电视节目。和美璧山通过微信投票和签到还可以获得积分,优惠美食等你来。以本地区以实现政务公共服务信息化为目标,进一步提升政府信...
10.0/1,526.2M
LoveTattoo爱纹身是一款有趣的纹身图片生成器,只需要一张照片,就可以给你的照片上设计各种纹身,爱情题材,龙,汉字等特效,非常的具有艺术感。LoveTat...
7.7/1,162.4M
Alibaba.com-全球领先的B2B跨境采购交易平台,全球商机,在您掌握。由阿里巴巴集团创办,旨在促进全球中小企业之间的贸易往来。自1999年成立以来,Al...
9.2/913.1M
M3GTR漂移模拟器游戏中文版是一款非常好玩的跑车驾驶模拟游戏,在M3GTR漂移模拟器游戏中文版中玩家可以选择自己喜欢的汽车来进行竞速挑战,游戏非常考验玩家的灵...
7.8/732.0M
针对儿童打造拼音学习软件,汉语拼音拼读app包含了23个声母、24个韵母、16个整体认读音节,结合了动画游戏的形式,在玩中去学习。汉语拼音拼读软件说明宝宝学会了...
7.6/1,493.4M
相信有非常多的朋友们喜欢摩托机车,炫酷的摩托机车,奔驰在道路上非常的拉风,为大家带来的是摩托机车酷炫桌面壁纸,喜欢摩托机车的朋友们快来下载吧。摩托机车酷炫桌面壁...
9.8/596.8M
是不是还在为淘宝刷单一页页的苦逼找宝贝而烦恼呢?只需要现在选择飞钻小工具找宝贝神器,就可以帮着你轻松搜索1--100页,快速查询淘宝天猫上面的各项宝贝排名情况,...