它被设计的小,快速,灵活而且独立。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.HtmlCleaner的文档对象模型拥有了一些函数,处理节点和属性,所以在序列化之前搜索或者编辑是非常容易的。
2.提供基本HtmlCleanerDOM的XPath支持
3.使用XML配置文件让创建定制tag变得更加容易
4.修复多个bug以及API改进
展开内容
9.9/783.6M
对于一个喜欢玩游戏又酷爱音乐的你来说,剑雨江湖游戏广告音乐的出现就是最好的礼物,这款包括暴风影音上剑雨江湖的广告背景音乐、剑雨江湖唐嫣代言音乐等等,让你能够在游...
7.7/1,209.3M
我的世界wht版,是一款基于我的世界手游打造的辅助软件,集多种功能于一体,不含任何广告弹窗,绿色无毒,难以被系统检测,安全不封号。并且自带WHT助手,让玩家能够...
7.7/464.1M
如何才能让小朋友们喜欢上语文课呢?俗话说兴趣就是最好的老师,首先要培养孩子们的学习兴趣。喜洋洋快乐语文(幼儿语文启蒙教育软件)是一款培养小朋友们对语文学习的兴趣...
9.7/1,223.6M
带着手机去吃饭逛街逛商城,不管是买东西还是吃饭都可以享受到会员版的服务和价格,再也不用携带那么多的会员卡了!这就是会员店手机版给大家带来的好处!软件介绍会员店,...
8.7/1,795.1M
iGene最新推出的迷你版吃鸡游戏-手电筒大作战(Flash.io),游戏一局进城也很快,各种道具也很骚,游戏获胜者是活到最后的而不是找到最多人的。游戏特色实时...
8.7/476.1M
海洋传说手游与三端与通,所有数据与pc和vr端能互通,是款跨平台的多人在线海战游戏,玩法非常丰富,包含SLG,MOBA,玩家能选择不同的船只和武器与其它玩家进行...
9.3/1,309.0M
袖珍无限岛屿建设者绿化版是一款休闲像素建造游戏。在美丽的小岛上建造属于自己的岛上城市,利用有限的资源,建造最美的岛屿城市。游戏介绍《ISLANDERS》是一款城...
10.0/698.1M
出去玩最重要的就是开心,要是心情被天气闹的不愉快,那就有点得不偿失了。这里,小编给大家提供一款自驾游天气查询app,实时查询全国各地旅游景点的天气情况,为您愉快...
8.7/1,918.4M
环江本地的生活服务软件,乐享环江app集合多种功能于一体,吃喝玩乐衣食住行样样有,二手交易,代跑腿等,让你在环江生活的更快乐方便。软件介绍在这里,加入感兴趣的圈...
9.1/1,477.5M
这是一款优惠购物软件,先领券再购物,各种大额免费优惠券领取,在这里享受优惠购物体验,很多用户都在关注,支持各大电商平台,淘宝,天猫,京东,拼多多!软件介绍淘淘云...
9.6/1,220.7M
劫变1.1正式版是一张非常好玩的魔兽防守类型地图,很久没有更新新版本了,这次更新了调整了一些内容,主要是新增了很多隐藏英雄,地图更加稳定好玩了!劫变1.1正式版...
9.6/291.1M
如果你有对网络热梗有所了解,或者是对之前各种语音盒子用过的话,那么这个科比语音盒子你也是不会陌生的,一样的壳子,里面有很多零散的著名的科比语音字句,点击就可以播...
9.4/840.9M
TrueCrypt是一款磁盘加密软件,truecrypt忘记密码怎么办呢?TrueCrypt密码找回工具这是一款免费的TrueCrypt密码破解工具,帮助你找回...
9.0/34.2M
模拟人生4mod管理软件是一款绿色免费的用于整理模拟人生4MOD的工具,安装的各种mod多了以后就容易产生各种冲突,为了方便玩家加入各种有趣的mod,本工具能够...
7.8/1,083.8M
慧达韵达快递单号生成器是能快速查询快递的软件,他比一般的软件来说,查询的时间更短,速度更快,自定义软件皮肤等很多功能,都可以供你使用。慧达韵达快递单号生成器怎么...
9.2/138.6M
最近疫情处于关键爆发期,为了给一线防护人员加油打气,为了让人们更加了解病毒的一些知识,小编整理一些宣传画图片分享。图片预览预防肺炎的措施有哪些新型冠状病毒型肺炎...
7.9/1,466.3M
我的名字克美美菊花丽桑丝绘本故事ppt,一款非常精美的儿童绘本故事。主要讲了父母对孩子的爱,独一无二的名字让孩子更加自信哦。非常的好玩。快来东坡下载吧。我的名字...
7.6/150.9M
无尽洪荒手游最新版本免费下载。其他方面,感觉到还行,可能是玩的时间比较少,至少还没腻。还没开放氪金系统,所以也不知道到时候,会不会太氪金,所以有待观察。游戏中问...
10.0/149.7M
正统三国是一款最新推出的游戏,画风清新细致,游戏内容十分丰富,还有公会玩法和万人激战等你来参与,赶紧来参与游戏吧。正统三国简介正统三国是一款三国卡牌类手机网游。...
9.0/355.9M
《幻灵修仙传》是一款以战力养成为主,集合成宠物收集养成、PVE副本探索、PVP单区宗主,连服宗门,跨服争皇等玩法的H5国风Q版放置回合制手游!幻灵修仙传网页游戏...
9.2/505.7M
解答问答之书app这个是一款非常受到我们大家欢迎的趣味解密软件,我们是可以在这个找到一些问题的答案,号称是百科全书,这里有我们需要知道额所有答案,我们是可以根据...
9.7/1,522.4M
巫师3狂猎一款超刺激、超炫酷的动作打斗游戏,游戏场面十分的劲爆,各种有趣的画面迎面而来。东坡小编特意为大家带来这款巫师3狂猎最高难度百果园全清初始存档,喜欢的玩...
8.6/1,180.0M
中标麒麟是一款国产的电脑操作系统,与windows系统类似,主要是以Linux操作系统技术为核心,它的字体渲染做的还不错,小编这里附上中标麒麟7官方镜像下载,欢...
8.2/1,905.3M
一款超好玩的h5系列仙侠冒险战斗手游,并且福利超多哦,小编们修仙道友们找到有效激活码,游戏划分为多个章节,每个章节玩法都非常好玩,登陆就送vip,特权非常之多!...
9.4/250.3M
嗨拍免费版一款功能超级强大的相机软件,漫画脸。动物脸,面部特效,各种不一样的玩法等你尝试,还有百变的滤镜,打造最适合你的百变风格,随时在手机上面也能完成不一样的...