写一个测试用的html文件:html-clean-demo.html黑暗之魂3薪火消逝中文版下载-黑暗之魂3薪火消逝版汉化硬盘版
<!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语言Html文档解析器,它能重新整理HTML文档的每个元素并生成结构良好(Well-Formed)的HTML文档。默认它遵循的规则是类似于大部份web浏览器为创文档对象模型所使用的规则,户可以提供自定义tag和规则组来进行过滤和匹配。
它被设计的小,快速,灵活而且独立。HtmlCleaner也可用在Java代码中,当命令行工具或Ant任务。解析后编程轻量级文档对象,能够很容易的被转换到DOM或者JDom标准文档,或者通过各种方式(压缩,打印)连续输出XML。
展开内容
实况足球2016大师联赛球员名修改-实况足球2016大师联赛修改器1.0 免费最新版
中化工电商卖家版1.4.0安卓版
巧克力蛋猎人手游下载-Chocolate Egg Hunter(巧克力蛋猎人)1.0 最新手机版
滴滴出行app最新官方下载-滴滴出行v7.1.8 安卓版
hellotalk下载-HelloTalk苹果版4.3.2最新版
抠图改图王app下载-抠图改图王免费版1.6.0.0 最新版
我的勇者oppo版下载最新版-我的勇者oppo版7.4.5 渠道版
你好邻居汉化下载-你好邻居中文安卓版1.0 手机版
勇者斗斗堂手游下载-勇者斗斗堂1.1 安卓版
土木世界游戏下载-土木世界1 安卓版
欧洲公路模拟下载-欧洲公路模拟游戏1.0 中文版
爱豆微博生成器下载-爱豆微博生成器app1.0 安卓版
三国杀3.8.5最新版本下载-三国杀移动版3.8.5版本4.4.2抢先版
天天爱消除攻略百宝箱2.0.1 官网最新版
互联网行业ppt汇报演示模板2020最新免费版
conNEcT01手游下载-conNEcT01游戏1.0 安卓版
8.5/220.0M
conNEcT01游戏,一款解谜益智游戏,游戏中有一个机器人AI,是为了代替人尅而生的,但是却被一个新型的机器人给代替了。conNEcT01游戏简介第一人称解谜...
查看
9.3/1,762.7M
买房呗app是一个为用户提供买房服务的平台,这里可以找到附近的房源信息,各地的楼盘信息,可以随时预约看房!软件介绍买房享优惠,就上买房呗,帮您找到合适又优惠的好...
8.0/1,735.6M
有货给一些物流进行运送的话,但是你不知道选择哪一家放心以及便宜,想时刻的都是可以轻松的知道你的货到哪里的话,建议你试试快到网货运货主版(在线查询货运信息)!手机...
8.9/1,291.7M
比亚迪卡车app是一个专为车主朋友开发的智能应用软件,可以通过app管理自己的卡车,支持远程控制,可以远程开启车内空调,随时掌握卡车详细状况,欢迎来下载使用!比...
青春印记app-脚丫印记app(旅行记录)1.1.1 安卓版
9.6/1,695.0M
脚丫印记app是一款专门为用户设计的旅行出行印记app,你可以通过文字、拍照、轨迹等方式给自己的旅途一个记忆。东坡小编推荐给喜欢旅游和分享的亲们!脚丫印记app...
8.6/1,902.0M
poco是国内最大的原创图片互动社区,这款poco图片上传插件是poco图片社区开发的一款图片上传浏览器插件,可以让你批量上传图片到poco图片社区,并且还支持...
8.2/641.1M
AR智书是针对国家重点理工类学科教材量身定制的AR学习软件。学生仅需安装“AR智书”,就可以在学习课本的同时,将晦涩难懂的图形知识、机械理论、操作原理扫描转化成...
7.8/513.4M
一元ABC英语app是一个为小学生朋友开发的英语学习软件,孩子们可以在这里获得丰富的英语课程,全新的教育模式,提高学习效果!一元ABC英语app介绍主要给学生提...
captorclash下载-captor clash(俘虏冲突国际服)1.4.0 最新版
8.6/630.3M
海外横板格斗新游,新加坡游戏团队制作,美漫风格的横向动作游戏。通过简单的按键组合就可以打出爽快的连招招式,玩起来上手又解压,游戏中可以使用多名角色,像是使用剑的...
9.8/347.3M
瓜瓣答题神器是一款非常好用的答题软件,这款软件拥有快速搜索答题答案的功能,有了这款软件可以在答题直播中更好的闯关了。使用教程使用该软件前准备两台手机下载安装后,...
9.9/171.1M
基于同城打造的配送的软件,趣家城配app就是针对商家打造的,后台接单后就可以进行自动配车,提供了一站式的服务,方便运输。软件介绍趣家平台以自主研发的智慧同城配平...
忍者大师闪乱神乐下载-忍者大师闪乱神乐NEW LINK日服9.2.3 最新版
9.6/1,261.0M
大家期待已久的忍者大师闪乱神乐NEWLINK游戏终于上线了,精致唯美的二次元画风,有众多的美少女,操作简单,流畅的动作打击感,欣赏欧派战姿。学园简介死塾月闪女学...
9.2/631.5M
陪陪喵俱乐部app是一个游戏陪玩和代练接单平台,提供大量订单信息和安全交易模式,让用户能快速接单赚钱,平台持续推送新订单满足不同需求。陪陪喵俱乐部app功能介绍...
8.8/481.3M
鹿金期货app,是一款专业的理财平台,操作简单,便捷容易上手,很好学,而且提现超快,几乎1分钟就到银行卡了。鹿金期货产品简介-注册简单快速,还可获取模拟金操盘,...
人类枕头大作战最新版下载-人类枕头大作战游戏1.0 安卓正版
10.0/178.4M
人类枕头大作战是一款很有趣的精彩乱斗闯关手游。游戏有着丰富的玩法内容,海量的游戏道具可以使用,你需要控制你的角色进行闯关。不同的游戏关卡会有不同的奖励,给你绝佳...
横行三国bt游戏下载-横行三国手游变态版8.2.18 安卓版
9.8/994.2M
横行三国是一款以三国为背景的热血传奇类策略手游,游戏中玩家将在乱世的三国进行战斗,离线也能打怪,游戏中各种职业都有其特殊的战斗体系,激爽的战斗玩法,酷炫技能,万...
8.0/196.8M
外星求生是一款高画质科幻风格3d沙盒游戏,在充满科技元素的场景下进行生存冒险,超高清画质的游戏画面内容,劲爆的游戏战斗关卡和不同模式等你来探索。外星生存(中文版...
一品大宰相冰鸟游戏下载-一品大宰相冰鸟app2.2.29528 官方正版
9.9/1,276.4M
一品大宰相是一款宫斗养成类手机游戏,游戏中有着宫廷大戏的剧情随心所欲,还有最佳的绝佳阵容强化打造、完美震撼的门客培养上线创新瞩目,各种神机妙算经典突出超强官事征...
7.6/213.9M
记忆之境冥海是一款冒险游戏,输入记忆之境归零的前传,游戏立绘打造的非常的唯美精致,展现了一个奇幻的世界,控制少女爱丽丝解开每一层魔塔的秘密。记忆之境冥海游戏特色...
7.9/250.6M
您是不是搜集了很多很好看的墙纸,而且喜欢经常改变您的墙纸,却又觉得很不方便呢?这个小工具可以帮你达到自动更换壁纸的目的。它可以预先将整个目录或选定的墙纸添加...
苍之纪元手游官网下载-苍之纪元手游官方版1.0.770安卓官方版
9.1/1,595.1M
苍之纪元官方版是一款非常好玩的二次元放置冒险类手机游戏,这款游戏中,萝莉、御姐各类高颜值美女一应俱全,任君挑选,等待与你一同上路冒险!同时这款游戏24小时自动挂...
7.8/689.4M
小鱼优品app是一款购物软件,各种爆款商品有你想象不到的价格,很多商品都是供应商直接供货,质量、品质都有保障,还有各种低价精选好品,是不是还有红包可以领取,下单...
和平精英更新下载安装包-和平精英更新安装包1.33.12 最新版
7.7/44.4M
《和平精英》是由腾讯光子工作室群自研打造的反恐军事竞赛体验类型国产手游,该作于2019年5月8日正式公测。该游戏采用虚幻4引擎研发,沿袭端游《绝地求生》的玩法,...
8.5/276.6M
这是一款基于生活的互助平台,在事人帮app上面你可以找到专业技能的人帮助你解决问题,同时你也可以将自己的技能知识帮助他人解决问题,这样就起到了一个互帮互助的作用...