写一个测试用的html文件:html-clean-demo.html照片打马赛克的软件-可以打马赛克的修图软件(修图大师)1.2.4 在线免费版
<!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。
1.HtmlCleaner的文档对象模型拥有了一些函数,处理节点和属性,所以在序列化之前搜索或者编辑是非常容易的。
2.提供基本HtmlCleanerDOM的XPath支持
3.使用XML配置文件让创建定制tag变得更加容易
4.修复多个bug以及API改进
微信群pc蛋蛋 pc蛋蛋咋算 九游会投资方 亚博会黑账号吗 ag8亚博登陆展开内容
快马浏览器安卓版-快马浏览器1.7.6安卓最新版
童话幻想挂机版iOS手游下载-童话幻想挂机版1.0.1苹果版
中典云软件下载-中典云软件1.0.19 官方版
生活好声音2.0.0 安卓最新版
雅思听写王1.0.4.1 绿色版
英大长安app下载-英大长安保险软件1.1.14 最新版
武极天下1.0.7破解版-武极天下1.0.7无泪【破解定制英雄 脚本】
恋与制作人表情包合集-恋与制作人聊天恶搞表情图片大全高清版
人才在线app下载-人才在线网1.3.1 最新版
360安全播报pc客户端下载-360安全播报平台电脑版1.0.0 官方免费下载
CS开箱模拟器2中文版下载-CS开箱模拟器2最新版1.32 手机版
差不多英雄手游下载-差不多英雄ios版1.7.3 苹果版
Ultra DVD Creator下载-DVD制作软件(Ultra DVD Creator)2.9.1222 免注册版
皇途超变手游下载-皇途超变游戏1.0.0 复古版
一站式婚礼服务软件-一站式婚庆服务平台(秀恩爱)1.0 手机版
8.5/307.7M
万宁钓鱼手游是万宁系的全新游戏,将现在很火的钓鱼题材,融合到游戏中,可爱的画风,轻松简单的玩法,一起享受新颖独特的钓鱼新体验,展现别出心裁的钓鱼模式哦。喜欢万宁...
8.2/1,230.1M
科技感爆棚的一款二次元的培养冒险战斗rpg游戏,魂器学院CBT手游非常适合佛系玩家体验,支持离线收益操作,就算睡觉也可以变强,专属的宿舍及甜蜜约会等功能,简单好...
8.9/1,579.0M
NBA2K18流畅度爽快感强化真实GS是可以修补游戏的流畅度与爽快感,让你玩NBA2K18的时候更加舒服。它可以解决玩家容易发生的失误,增加流畅度。有需要的朋友...
9.3/1,052.8M
平衡车其实已经走进了大众生活,也许你在平时上下班以及出去玩的时候就可以在路上看到有人在使用平衡车出行,在一些特定的情况下平衡车反而是最好的选择,这里小编带来的就...
形状与跳线手游(Shapes VS Jumper)3.2安卓最新版
9.3/1,439.2M
这是一款好玩的休闲闯关游戏,形状与跳线手游为玩家提供许多关卡,玩家点击屏幕,需要控制小球不断闯过各种关卡,闯过的关卡越多你的分数越高。形状与跳线游戏介绍你手上的...
像素英雄冒险(Pixel Hero Adventure)1.0.3 安卓版
8.5/1,806.7M
这款游戏是一款非常有趣的点击冒险游戏,在游戏中你只需要点击就可以让英雄移动,游戏中你可以升级英雄的攻击力,可以自由的斩杀众多怪物!像素英雄冒险介绍打败骷髅王和它...
8.1/644.3M
在承德坐公交就可以使用这款承德公交行App进行刷卡买票了,出门就不用带零钱和公交卡,直接用手机扫码乘坐公交车了,非常的方便。使用方法下载“承德公交行APP”后,...
9.1/1,284.1M
根据同名漫画改编你的一款游戏,天宫赐福有着丰富的剧情,精致的画风绘制,指尖操作畅爽连招,炫酷技能全屏剑影,真实的游戏剧情给你前所未有的畅快游戏体验。天宫赐福完整...
7.6/276.0M
魔灵契约是一款魔幻类手游。游戏玩法丰富多样,游戏内超过1000个英雄可以自由搭配。东坡小编在这里给大家提供下载地址以及相关攻略,希望能够帮助到大家。魔灵契约简介...
讨伐曹贼III1.0.0地图下载-讨伐曹贼III1.0.0正式版【附隐藏英雄攻略】
8.7/47.1M
讨伐曹贼是一款全新的三国系列RPG地图,该地图作者根据原经典RPG幻想曹操传进行改良修正,通过独特的英雄造型设计以及装备合成路线,加上对剧情的稍加修改,让游戏更...
8.0/589.6M
如果你是非常的喜欢钓鱼的,特别是喜欢在自己的手机上面钓鱼的话,你可以选择职业钓鱼中文版,在海洋里面进行各种各样的钓鱼,解决很多的喜欢钓鱼用户的问题!游戏介绍一款...
7.8/1,561.9M
提词器台词王APP是一款比较实用的提词工具,软件非常适用于自媒体运营和创作的用户,对于直播带货、娱乐直播、知识分享直播等各类直播场景,提词器台词王可以让主播在直...
8.0/1,354.2M
未来汽车模拟器游戏为你送上,游戏中玩家只需要驾驶着汽车去征服一个又一个关卡,同时各种不同性能的赛车等你来驾驭,全新的模拟赛车手游等你来享,离线也能获得金币收益哟...
8.0/316.9M
四叶草便签本是一款电脑便签软件,软件小巧方便,使用简单,非常适合办公室人员使用,用户可以使用软件记录每天急需解决的事情,帮助自己提高工作效率。四叶草便签本安装步...
FAST企业无线路由器打印服务器客户端软件2.0.6 官方免费版
9.6/1,969.7M
打印服务器复位大全FPS110U/210U的RESET键在设备前面板,FPS110P的RESET键在设备侧面,复位孔较小,需要使用大头针之类的细长物才能按住RE...
8.7/1,837.3M
这是一个手机汽车购油商城软件,这里可以购买各种汽油,油卡,通过充值的积分还可以兑换各种商品,还有更多商品可以在线购物,价格实惠!软件简介惠车优品商城以树立民族品...
宝藏探险1.35次元乱入地图下载-宝藏探险1.35次元乱入正式版附攻略
9.0/651.3M
宝藏探险是一款非常好玩的rpg魔兽地图,支持1-3名玩家。相信很多小伙伴都玩过这款地图,地图的玩法很丰富,还有新颖的剧情内容。这里带来了宝藏探险1.35次元乱入...
聆咔语音交友app下载-聆咔语音交友app1.0.1 安卓版
7.8/893.5M
聆咔语音交友app是一款提供实时语音交友的社交应用,用户可以通过语音交流建立联系和互相了解。该应用支持多种语言聊天,个人资料展示和私密聊天功能也增加了用户的交流...
8.6/1,742.0M
唐诗和宋词是中国的传统文化,唐诗与宋词手机版几乎收录了所有的诗词,唐诗与宋词软件在没有网络的情况下可以离线阅读。唐诗与宋词手机版使用说明支持兰亭,宋体,楷体,硬...
爱站seo工具官方下载-爱站工具包(爱站seo工具包)1.11.25.0 最新破解版
9.9/356.1M
对于弄网站的来说,总是会去爱站上面查询数据,这样弄的很烦闷,不过现在有爱站seo工具包,就能直接在在这个软件上进行操作,省去很多麻烦的步骤,而且这样的效率也得到...
BECA Bubbles app下载-BECA Bubbles滤镜相机1.0 最新免费版
7.9/1,906.4M
BECABubbles滤镜相机,是一款功能强大的手机p图软件,内置了10种摄影滤镜和30多种手工绘製的精美贴纸,超自然的美颜效果,不自拍也要拿来当镜子照,好想活...
8.6/552.2M
节奏超跑手游是一款音乐类的跑酷游戏,游戏的主要特色就是有着惊人的图形和完美的音乐,在游戏中我们要通过探索和解锁所有令人惊叹的未来汽车设计来过关,通过驾驶汽车横向...
8.6/667.5M
剑指昆仑手游是一款画风唯美精致的仙侠类游戏,游戏中玩法多样,剧情非常的丰富,玩家将选择拿手职业来进行冒险战斗,最终你将剑指天下苍生!剑指昆仑介绍剑指昆仑安卓版是...
8.5/1,533.7M
乐视视频HD是一款免费的iPad高清视频播放器,拥有最多的电影电视剧资源,支持众多热门电视直播,支持包括优酷、爱奇艺、PPTV、PPS、腾讯视频、搜狐视频等视频...
9.9/1,780.6M
是一款为全国各地用户打造的扶贫救援志愿软件,通过这款软件医生用户可以在这里加入到志愿者平台中,伸出你的力量来一起帮助他人,不仅能够回馈社会也能锻炼你的医技!中国...