1.HtmlCleaner的文档对象模型拥有了一些函数,处理节点和属性,所以在序列化之前搜索或者编辑是非常容易的。盘口分析
2.提供基本HtmlCleanerDOM的XPath支持
3.使用XML配置文件让创建定制tag变得更加容易
4.修复多个bug以及API改进
它被设计的小,快速,灵活而且独立。HtmlCleaner也可用在Java代码中,当命令行工具或Ant任务。解析后编程轻量级文档对象,能够很容易的被转换到DOM或者JDom标准文档,或者通过各种方式(压缩,打印)连续输出XML。
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.0.1 安卓版
爱美剧app下载红色旧版本-爱美剧app红色旧版2.1.2 安卓版
斗图表情包制作软件下载-斗图表情包制作app2.2.13 趣味版
tagwatch下载-tagwatch软件1.7.3 安卓最新版
全家福素材-设计全家福必备PS素材jpg格式免费版【ps全家福背景素材】
Hidden Object - Haunted House Free!(隐藏的对象神秘鬼屋游戏安卓版)1.0.1 中文版
书法字帖碑帖下载-书法字帖碑帖app1.1.0 安卓最新版
去孢子游戏下载-去孢子(gone spore)1.0 安卓最新版
人狼是假月日服版-人狼是假月网易版1.1.0手机版
词霸高中词典下载-金山词霸高中词典1.0.0最新版
腾讯大逃杀Europa游戏-腾讯吃鸡端游Europa中文版steam汉化版
拖车运输模拟器游戏下载-拖车运输模拟器游戏(Tow Truck Machine Transport)1.3 安卓版
逃离森林联机版下载-逃离森林手游下载联机版(The Tabung)6.1.2 最新版
问雄淘宝天猫宝贝销量批量查询下载-问雄淘宝天猫宝贝销量批量查询1.0 免费版
皇帝成长计划2手机版下载-皇帝成长计划2手游2.2.3 官方最新版
txt文本分割器下载-一品文件分割机1.2 绿色版【txt分割器】
装逼世界7.3正式版-装逼世界7.3正式版防守地图免费下载
员工辞职申请书下载-公司员工辞职申请书通用模板doc格式【免费版】
零号广告软件下载-零号广告app1.5.1 安卓版
勇者塔游戏下载-HeroTower2D(勇者塔手游)0.3安卓版
究极模块源码下载-易语言究极模块4.0.2 破解版【注册机】
生存希望1.0.5正式版地图-生存希望1.0.5正式版【附攻略】
卡巴斯基黑名单验证助手2.0 Build0330绿色版 (可批量验证Key)
宝宝美食厨房游戏手机版下载-宝宝美食厨房1.1 手机休闲版
爱败妈妈-爱败妈妈(妈妈朋友圈)1.0.2 妈妈版
8.7/748.7M
红豆键盘app,堪称恋爱聊天的得力助手。一打开它,你会发现这里简直是恋爱话术的“百宝箱”,海量精心整理的恋爱话术,从初次相识的破冰开场白,到热恋时的甜蜜互动回复...
芥子空间游戏盒子下载安装-芥子空间游戏盒子1.1.92 安卓版
8.7/1,157.9M
芥子空间游戏盒子是一款有着丰富的游戏盒子软件,除此之外,还有很多实用功能,如免费挂机、自动存箱子等,使用无需root,有需要的朋友们快来东坡下载吧!芥子空间游戏...
xthzpro准星助手APP下载安卓版-xthzpro准星助手免费版3.9 最新版
8.2/1,953.8M
xthzpro准星助手APP是款比较实用的手游辅助软件,因为xthzpro准星助手APP拥有海量的准星样式库,涵盖了各种经典与创新设计。无论是简洁明了的十字准星...
小艾模拟小忍模拟器下载-小艾模拟小忍模拟器游戏4.1.0中文版
9.9/1,906.1M
这是一款非常有趣的关于女孩模拟器的全新经营模拟人生手游,玩家可以在游戏中获得自己心的陪伴,在游戏世界中和小艾子交流,相互培养好感度,享受另一种虚拟人生。养成小艾...
欢乐狼人杀Pro版最新版下载-欢乐狼人杀Pro版1.4.400安卓最新版
9.0/658.1M
欢乐狼人杀Pro版是目前最新的狼人杀的版本,同时也是对游戏的系统进行了全方面的更新的,建议大家可以直接的来免费的下载体验侠游戏怎么样!官方规则标准的狼人杀Onl...
Plumber - Storm Night(普维尔水管工)2.1 安卓版
9.2/1,266.2M
这是一款比较有创意的闯关游戏,普维尔水管工(PlumberofPureVille)游戏中,你需要接通每一个关卡中的水管,让水管能够正常的流通!普维尔水管工游戏背...
9.0/755.1M
赛亚战士是一款竖版养成游戏,完美还原了动漫中的人物,在游戏中可以通过任务或者打怪竞技来提升自己的各项属性,每个角色的各个技能都是不同的,玩家在培养时可以选择自己...
8.8/1,513.5M
南宁头条app是专为南宁用户打造的新闻阅读软件。每天都提供最新资讯,不论是民生、直播、视频还是爆料、新闻全一手掌握。东坡小编给大家推荐的新闻客户端!&#...
8.7/667.9M
最强海贼官方版是一款经典的海贼王改编即时战斗手游,超高清的游戏画面,最为轻松的竞技pk对战模式和玩法,随时领取最稀有的神兵武器,发挥自己最出色的实力,领取到更精...
9.2/1,711.4M
倩女幽魂下载是新一代国民玄幻手游,智能萌娃AR互动,人格化语音交流,开启仿生养育时代;跨服城战打响,自建城防,攻城略地,成就霸主伟业;真实世界AR投映,语音召唤...
8.3/1,675.7M
萌宝宝辅食大全是一款专为婴幼儿打造的营养菜谱辅食软件,软件中为宝妈们提供清晰的菜品制作学习菜谱,让你对宝宝的食物做出更有营养!app介绍0至36个月婴儿科学营养...
7.5/727.8M
成都地铁app是一款可以在线查询成都地铁运营路线图的软件,大家可以了解乘车时间和首末班时间,查询车站地图,周边美食等,真的是一款非常实用的出行利器哦,有需要的朋...
microsoft camera 编解码器16.4.1970.0624 官方最新版(含32位/64位)
9.5/111.5M
喜欢使用RAW格式拍摄的摄影爱好者都有过类似经验,由于Windows不支持RAW格式文件预览,无法在文件夹中像JPEG图片那样直接查看RAW格式照片的缩略图,而...
9.6/1,228.4M
超好玩的变态版仙侠游戏,游戏是仙魔画风为特色,可以体验热血仙魔的玩法,超多经典仙魔职业可以选择,经典仙侠互动性玩法,随时随地体验热血仙侠乐趣,玩仙侠游戏可以让你...
Alight Motion凌风原创汉化版下载-Alight Motion凌风原创汉化版2.3.1 安卓中文版
8.6/819.0M
alightmotion汉化版中文版为大家带来,这是一款功能超丰富的手机剪辑软件,酷炫的特效并非一定要用AE和Pr,手机上使用alightmotion一样可以轻...
8.3/1,537.6M
这是一个智能家居管理软件,通过这个app你可以管理家里的智能家居设备,帮助你在线查看各种监控,管理开关,管理各种电器等等,完全免费使用!软件介绍威管家是您家庭的...
3D火柴人求生内置修改器-3D火柴人求生无限金币版1.0.0 安卓版
9.5/1,303.1M
3D火柴人求生是一款趣味十足火柴人闯关游戏,画风可爱,丰富的游戏玩法,玩家可以自由选择,闯关成功就能获得精彩的游戏道具,提升自己的经验值和武力值,关卡由易到难极...
漫威蜘蛛侠复刻版下载安装-漫威蜘蛛侠复刻版中文版v1.15 安卓版
9.6/1,491.0M
漫威蜘蛛侠复刻版中文版下载安装,化身超级英雄蜘蛛侠成为城市的英雄卫士,作为城市守卫者,消灭一切恶势力;漫威蜘蛛侠复刻版还原了漫威精彩画面,喜欢的朋友就来东坡下载...
9.8/785.5M
启点在线中英文企业网站管理系统源码的架构非常清晰,代码易于维护。支持伪静态功能。是非常好用的企业网站管理系统,可以智能的根据用户行为以及使用的设备环境,快来下载...
漫画大冒险2.0下载-漫画大冒险官方正版pre 0.2.1 手机版
10.0/86.5M
漫画大冒险手游版本上线了,这个游戏是B站UP主@GoldenEggs制作的漫画擦除小游戏,漫画往往是一个人童年最为深刻的回忆了,而每个人心目中也都有自己最喜欢的...
9.3/519.0M
这是这是一个本地生活服务类型平台,通过这个app你可以设置各种移动业务,适用于吉林省地区用户使用,专业的移动功能办理平台。移动吉生活app介绍移动吉生活app是...
你来app下载-你来社区(nilai)安卓版2.1.9 官方版
8.1/337.1M
不仅仅是安卓,ios也可以看漫画小说影视动漫的软件,给新来的小伙伴们简单介绍下【你来】,你来是vomicer的官方社区,你可以在这里记录和分享生活和成长。还有影...
层次难题(Gradation Puzzle)1.0.7 安卓版
8.3/1,395.3M
层次难题是一款非常有挑战性的休闲益智类手机游戏,游戏采用了渐变色来做为解迷的核心,把打乱的颜色放到正确的位置,完成整个画面的完整度,强迫症患者一定会非常喜欢,艺...
9.5/479.1M
挥汗鼓点舞是一款非常实用的家用健身软件,提供全方位的健身方案和每日计划。用户可以根据自己的自身需求选择合适自己的鼓点舞,合理的规划健身时间。还有专业的教练帮你规...
8.8/219.8M
这是一款专业的最能反应出用户带宽的真实情况。功能完善,操作简单。最能反应出用户带宽的真实情况。有需要的可以来东坡下载使用!宽带助手说明宽带助手提供了易懂的交互界...