写一个测试用的html文件:html-clean-demo.html撕歌app下载-撕歌app5.64.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代码中,当命令行工具或Ant任务。解析后编程轻量级文档对象,能够很容易的被转换到DOM或者JDom标准文档,或者通过各种方式(压缩,打印)连续输出XML。
1.HtmlCleaner的文档对象模型拥有了一些函数,处理节点和属性,所以在序列化之前搜索或者编辑是非常容易的。
2.提供基本HtmlCleanerDOM的XPath支持
3.使用XML配置文件让创建定制tag变得更加容易
4.修复多个bug以及API改进
HtmlCleaner是一个免费开源的适用范围广的Java语言Html文档解析器,它能重新整理HTML文档的每个元素并生成结构良好(Well-Formed)的HTML文档。默认它遵循的规则是类似于大部份web浏览器为创文档对象模型所使用的规则,户可以提供自定义tag和规则组来进行过滤和匹配。
hth下注 亚博在哪里下 体彩网上刮刮乐 中考体育考几项 附近免费体育场展开内容
小孩工作室西游战记3修改器下载-小孩工作室西游战记3修改器1.3 绿色版
天天有喜2无限资源阁下载-天天有喜2内置无限资源阁1.0 gm修改版
kpopstarpic软件下载-kpopstarpic安卓安装包3.7 最新版
小球下落Dropple3.3.0 安卓免费版
逆水冥寒手游下载-逆水冥寒1.0 安卓版
多阅小说免费下载-多阅免费小说app1.2.0 官方版
杠铃飞跃下载-杠铃飞跃小游戏1.0.0 安卓最新版
贪食蛇大作战2017ios版下载-贪食蛇大作战20172.1苹果客户端
戴夫rush下载速通-戴夫rush速通(DaifuRushByMutangM)1.0 最新版
九天仙梦兑换码-九天仙梦福利版1.0 最新版
中国法院网-中国法院网(中国法院)1.1.1 宣传版
消消星星乐游戏下载-消消星星乐ios版1.1.1 最新版
培训讲师简历-培训讲师求职简历模板word格式最新版
宽带快速连接器(解决如何设置ADSL宽带开机自动连接)3.3.0.1003 绿色版
奥能充app下载-奥能充app1.3.0 安卓版
8.8/1,973.4M
精简科学计算器是一款绿色免费,精简实用的科学计算器。软件功能强大,操作简单,把想要计算的表达式输入文本框的最后一行,点击计算或按回车。精简科学计算器功能特点支持...
小区购物app下载-小区送货上门app客户端(蜗宅生活)1.1 手机版
9.4/237.9M
小区不想下楼购物,一个订单就让店家送货上门,小区送货上门app客户端专为小区用户打造的手机购物软件,轻松购物非常方便。送货上门是物流公司提供的上门服务内容的其中...
尼康D850相机快门计数软件下载-尼康D850相机快门次数查询工具免费版
9.1/988.3M
在使用相机时,需要用户都想要查询自己的快门次数,最近国外有一款尼康D850相机快门计数软件非常流行,他能你能统计你的尼康D850相机使用次数,让你更好的了解快门...
乐手游平台APP下载官方版-乐手游(0.01折游戏盒子)1.0.0 最新版
9.1/654.8M
乐手游(0.01折游戏盒子)APP中能为玩家用户带来诸多高品质的游戏资源,而且还有诸多超值福利折扣可以获取,且平台会实时更新游戏资讯和活动信息,让玩家及时了解游...
9.3/1,335.2M
一款捉迷藏题材的休闲类型游戏,游戏采用经典的方块风格打造画面背景和人物角色,刺激紧张的游戏的氛围将会带给你极具趣味性的游戏体验,各式各样的角色和场景等你选择切换...
8.1/401.0M
唯美小清新庆典ppt模板是小编为大家分享的一套可以让你快速的找到自己需要的模板的资源,可以让你用在各种庆典上,需要的下载吧。预览:说明:不是王子,没有公主的关注...
思维管家下载-Taguage(思维管家(笔记整理))4.1.0 手机版
9.6/1,338.5M
思维管家为你提供最便捷的思维整理功能,将自己的创意、点子、思维等内容用笔记录下来,再通过关键词用时间轴进行排序显示!思维管家软件说明思维管家是一款创意型的自动整...
跑一跑游戏官方正版下载-跑一跑手游安卓版0.49615 最新版
8.1/206.1M
跑一跑2022最新版手游采用3D卡通画风,多场景地图都有其特色玩法,每个地图中所面临的难度和障碍是不同的;跑一跑游戏支持多人联机,可与好友一同在广阔的场景之下开...
猴子真英雄(MONKEY Real Hero)1.3 安卓版
9.5/1,669.3M
以猴子为主角打造的一款角色冒险游戏,猴子真英雄(MONKEYRealHero),精心设计了丰富的关卡,收集路上的金币,和敌人进行战斗。游戏玩法选择游戏关卡进入游...
9.8/717.1M
蜀门世界是一款超级好玩的搭配呢官方玄幻战斗rpg手游。游戏加入了有趣的传奇元素,帮你重新找回属于你的传奇。丰富的游戏内容,多种游玩法,你可以挑战各种副本boss...
狼人杀qq微信版下载-狼人杀qq微信版2.12.4 官方正版
7.5/207.9M
狼人杀官方正版是一款多人参与的,口才较量烧脑小桌游,玩家需要认真构思自己的语言让他方相信自己的话,同时也要能分辨出哪位是你的同伙,最后获得胜利,这款游戏有独特的...
7.8/701.0M
填词特爽是一款关于成语的益智手游,各种填词关卡让你不断的增加成语知识,且游戏中玩家过关便会有红包奖励,都是可以直接提现到微信的现金。填词特爽游戏介绍填词特爽红包...
7.7/1,736.1M
编程猫定制课是一款少儿编程教育软件,适合7-15岁的孩子,精心设计了在线儿童编程教育课程,这里提供编程猫官网电脑版下载,将多元学科与编程融会贯通,激发孩子学习兴...
8.4/1,753.8M
科技感十足的一款动态时钟软件,时钟Clock采用了黑白的风格,显示旋转的时钟,让时间仿佛在你的指间跃动。目前已知问题1.秒数和系统时间相差一秒,找不到原因2.小...
9.6/1,398.7M
只需输入机床型号、工件模数、滚刀头数、工件分度圆螺旋角就可以进行计算,还能自己选择计算精度,最后还能把计算数据保存以便使用和验算。包括二十多种型号的滚齿机。...
9.1/80.8M
芝麻装app是一个专业的家装服务软件,用户如果有装修方面的问题可以在这里提问,专家为您解答各种疑惑,帮助你精心装扮你的家!芝麻装平台介绍芝麻装为业主提供付费的装...
9.7/461.8M
疯狂甜瓜世界是一款玩法类似甜瓜游乐场的休闲模拟手游,在游戏之中玩家将操控角色完成各种沙雕行为,而且游戏中还为大家解锁了丰富的道具可以使用,快来凭借自己的创造了和...
旧版追书神器ios下载-旧版追书神器苹果版5.9.20181217 免费版
9.6/1,740.0M
旧版追书神器app是一款非常强大的追书软件,可以看全网正在更新的小说,每天都第一时间为您带来精彩小说最新章节!旧版追书神器app介绍旧版追书神器,这是广大网友在...
管理学原理学习心得-管理学原理ppt全课件(共247页)最新整理版【管理学资料】
7.6/935.1M
这是一份由247页组成的管理学原理ppt全课件,需要管理学原理学习心得或是管理学资料的朋友们下载这份由小编最新整理带来的这份管理学原理ppt全课件就对了!相信它...
7.7/773.5M
大圣之战手游变态版直接的可以送你vip6了,还是送你十几万的元宝,不用担心自己玩游戏没有钱玩了,心动的话现在就可以来免费的下载体验下!大圣之战手游变态版福利新服...
GameHouse原创故事下载-GameHouse软件5.19 安卓版
7.5/172.7M
GameHouseOriginalStories是一款游戏软件,它提供了各种原创故事的互动体验。这个软件可能包括各种类型的小说、谜题、解谜游戏以及其他互动内容,...
8.3/1,993.0M
我是剧中人是一款非常有趣的小工具,可以帮助你写真照生成器,用户可以在这里根据自己的个人需求去进行选择,上传自己的图片,切换不同风格的写真照片,看看哪个风格适合自...
金山卫士2010官方下载-金山卫士4.7.0.4220 官网最新版
7.7/1,485.4M
金山卫士是当前查杀木马能力最强,检测漏洞最快,体积最小巧的免费安全软件。金山卫士采用金山领先云安全技术,不仅能查杀上亿已知木马,还能5分钟内发现新木马;漏洞检测...
9.2/1,866.9M
千鱼微店店铺商品复制专家(微店商品复制软件)是一款微店商品复制工具,它可以轻松帮助你一键进行微店克隆,有需要的赶紧来下载使用吧。微店店铺商品复制专家简介轻松复制...
Sleep cycle怎么用-睡眠周期闹钟(Sleep cycle)6.2.4 官网最新版
9.5/1,972.1M
很多的朋友都是觉得自己的睡眠时间总是不够,或者是睡不好,那么你就有必要的使用下面的这款Sleepcycle睡眠周期闹钟来帮助你更好的进行睡眠了!Sleepcyc...