写一个测试用的html文件:html-clean-demo.html固乔客户管理系统下载-固乔客户管理系统1.0绿色免费版
<!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。
展开内容
9.4/1,009.0M
书法辞典是一款书家必备的书法字典,更新后更是集书法字典、书家必备手册、篆刻字典、展览信息等为一体,成为书法家及书法爱好者必备的工具,方便、快捷。欢迎大家前来下载...
8.4/954.3M
奇迹无双bt版属于多人在线竞技pk游戏,上线会送v3以及10000钻石,游戏结合U3D强大引擎的画面支撑给你极致的感官体验,更有非比寻常的玩法系统,是当前主流的...
查看
7.7/1,792.5M
冰雪舞会即将举办,赶快给公主和王子装扮一下吧,要进行化妆、美甲、美发、王子spa、服饰设计,王子装扮;全部完成后就可以参加派对了。公主化妆舞会装扮玩法搭配饰品:...
8.2/1,155.2M
马上就要高考了,同学们要在这最后关头抓紧时间复习备考,考上自己最理想的大学。下面是小编为大家带来的一份河南大联考2017届高中毕业班阶段性测试语文试卷及答案,答...
8.6/102.3M
截图咔哧软件是一款使用十分方便的手机截图软件,软件支持全屏截图,按住home键即可快速截图,软件支持编辑图片大小修改保存。手机快速截屏软件,支持全屏截图截图咔哧...
9.0/1,430.9M
英雄战术竞技手游,很多人将其认为是APEXm国服版,和吃鸡游戏玩法类似,高能英雄有10个英雄选择,每个英雄都有自己的被动技能和绝招,除开枪械武器,英雄自身就是武...
8.8/1,979.8M
经常玩一些盛大游戏的朋友都是需要注册一大推盛大的帐号的,如果是自己一个个去注册的话,就太麻烦来点,小编给你建议试用下盛大通行证注册器!盛大通行证注册器介绍菠萝盛...
8.6/347.0M
此款工具是游戏捉鬼敢死队的修改工具,对应游戏版本v2.0.1.0,提供五项属性修改功能,下载后直接解压即可使用。游戏介绍捉鬼敢死队属于动作射击类游戏,作为一名职...
8.0/153.1M
xenotake异度营救是一款横版动作act游戏,少女大战各种怪物,有的怪物有点重口味,小编带来的是xenotake免安装硬盘版,有兴趣玩家就来下载吧。xeno...
8.5/221.5M
安国SD内存卡的低级格式化工具可以帮助你修复你的SD内存卡,也可以用来做量产工具或开卡工具,功能十分实用,需要的话不妨来试试吧!低格是什么低级格式化就是将空白的...
9.5/342.6M
伏魔曲手游苹果版是最新的东方修仙的手游,这个也许很多的玩家都是会发现这款游戏有你需要的场景,不管是道具还是坐骑还有武器都是非常的不错的!伏魔曲游戏介绍《伏魔曲》...
8.5/1,102.3M
淘宝天猫评论采集工具是一款采集天猫评论的软件,使用者可以通过本软件对各种天猫评论进行批量采集操作,非常的便捷,软件的使用也很简单,界面简洁根据提示即可完成评论的...
9.5/1,433.8M
全功能数字时钟是一款数字时钟,这款数字时钟非常漂亮,功能齐全,会自动隐藏的软件自带邮件发送功能)等等功能,需要的朋友快来下载吧!软件介绍全功能数字时钟是第一款国...
9.5/1,858.3M
七彩课堂一年级下册数学电子版课件是为小学老师提供的教学资源,本次提供的是人教版教学课件,包含一年级下册所有课程,可以帮助老师们更好的备课!资源详情说明:本次提供...
9.1/1,191.1M
因为网购的火爆,导致各种物理行业也非常的发达,这里为大家提供的这款华师傅app(物流管理)为各种物流商家提供了丰富的物流管理服务,有需要的直接下载就可以使用了。...
7.6/512.2M
宝贝联盟2是一款非常好玩的手机游戏,这款游戏由人气动漫《神奇宝贝》改编,这款游戏中高度还原了动漫中的人物与小精灵,并且这款游戏中玩家还有机会与你心仪的小精灵一起...
8.6/649.7M
Winexy是一款非常好玩的休闲类游戏,这款游戏的玩法有点像是滚动的天空,不过在其画面上面显示的更加的与众不同,如果你喜欢挑战这类游戏的话可以试玩哦!Winex...
10.0/1,860.1M
一款手机视频壁纸软件,哈屏动态壁纸app内置动态高清手机壁纸,个性化的内容推荐,情侣、跑马灯、动漫、唯美等风格的,让你的手机超级酷炫。哈屏主题透明壁纸app怎么...
9.8/1,456.5M
B613美图相机是一款全新推出的自拍软件。它有着强大的自拍功能,各种滤镜任你选择,传说中的整容神器,一键变网红。还有一些有趣的自拍功能等你来探索。喜欢自拍的小伙...
8.0/1,458.3M
YOWA云游戏苹果版是一款超棒的云游戏平台,支持在手机上处理各种电脑任务,还可以免费畅玩各种大型电脑游戏,海量的端游用手机随时玩,让端游变成手游!YOWA云游戏...
9.6/1,128.6M
智慧校时可以校对美国时间的校时工具。从Internet时间服务器获取标准时间,并使您的电脑与标准时间进行同步。非常适合经常修改电脑时间、电脑时间不准(如主板电池...
8.7/854.4M
symbolab正版软件安卓版本可以在这里免费下载到,能准确的打出这个app的单词的,肯定是对这个app有极大需求的。symbolab是一款专为代数,微积分,三...
8.5/469.6M
毕竟win7也用了那么长的时间,简单实用的操作模式,很多用户都已经对其产生了依赖,就如同当初多少人都不愿意放弃XP一样(现在依旧还有很多人坚持用着XP)。这里,...
9.4/902.2M
南方奇门遁甲软件是一款功能强大的奇门遁甲的测试程序,能够帮助你测算你想知道的一切,主要提供吉格凶格信息,有需要就下载吧内容提要本程序包含时家奇门、日家奇门。时家...