
类型: 教育培训 版本: V6.4
大小: 1,570.8 时间: 2025-11-21





写一个测试用的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兼容性比较好。
它被设计的小,快速,灵活而且独立。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和规则组来进行过滤和匹配。
淘宝是怎么赚钱的
776.6M
安卓重力弹球游戏是一款物理类的休闲弹球游戏,这款游戏简单好玩,玩家只需左右倾斜手机,即可让小球移动,穿越各种障碍。喜欢的网友快来下载吧!重力弹球游戏介绍重力弹球...
蓝手机怎样赚钱
50.6M
小红伞key导入的三种方法:1.直接双击要更换的key文件,通过小红伞的LicenseManager(授权文件管理)来导入key。2.将要更换的小红伞key文件...
棋牌游戏防封号
423.7M
论文查重是目前很多的大学生都是需要使用到的工具,这款是迅捷论文查重软件,直接的可以在手机上面查询,同时也是拥有最庞大的系统,解决你的论文重复问题!迅捷论文查重软...
网赚频道
259.6M
追享小说是一款非常好用的小说阅读软件,随时随地可以发掘全网的优质小说进行阅读,每一本小说都是免费就能看的,而且更新及时,满足大家的追书要求,感兴趣的小伙伴快来u...
太阳集团注册送38
768.3M
快科技(科技资讯软件)是一款功能强大的科技咨询阅读软件,用户通过本软件能够直接每天了解到最新的科技咨询,包括手机、电脑、软件等各个方面,有需要的可以下载试试。快...
南宁雀坊棋牌室
1,600.3M
安卓最好的文本编辑软件(彩色文本)是一款可以编辑出多种效果文本的App。不仅仅是可以轻松的支持出个性文本编辑,同时还是可以定制属于你自己的文本样式,心动不如行动...
装修公司的佣金比例
1,435.5M
点点优惠手机版app是一款实惠商品选购商城,在上面用户可以选购每日推荐商品,精选当季爆款,新用户可以享折扣,同时还可以使用优惠券,超级划算。软件介绍找优惠,上点...
彩票跟计划兼职
1,906.1M
大家都知道摩斯密码吗?也就是非常古老、保密性非常高的摩斯密码应用类手机客户端,汉化版的,让你不仅仅能够使用英文版、日文版、韩文版还能够直接选择汉化版的哦!摩斯密...
渭南学生兼职求职简历
1,646.8M
云玩宇宙是一款注册送空投的数字藏品交易平台,在这里查看最新的数字藏品资讯信息,帮助用户更好的找到超多优质的数字藏品,很多的数字艺术藏品在这里都有,可以在线进行了...
尚品棋牌室(绿宝广场店)怎么样
1,716.4M
NB电学实验安卓手机版app:这是一款高仿真的虚拟实验室软件,该软件集多种实验器具及实验方案,既可以自由设计自己的每一个物理电学实验,安全且便捷,又可享受随时随...
发棋牌下载
1,610.8M
兽娘动物园丧病同人游戏(kemonofriends.exe)是一款同人游戏,游戏采用了一些丧病的画面,游戏的设定有点变态,也有让人治愈的地方,有兴趣的朋友不要错...
双赢物流怎么提现
327.3M
这款游戏是一款回合制少女动漫游戏,游戏中你可以收集你喜欢的角色,可以对每一个角色进行升级,自由的编制你的队伍,轻松进行各种任务,让游戏玩起来十分带感!翠绿之药怎...
掌上江苏棋牌下载
155.6M
中国水产科学研究院渔业工程研究所官方推出的一款手机软件,以渔船、船员、渔获物的动态监管为主线,提供了船舶进出港报告服务,打造渔船渔港管理新格局。渔港通最新版本介...
玩什么游戏日赚200
1,980.1M
火线出击是一款拥有全新玩法的佣兵塔防手机游戏,游戏以未来rpg风格打造,玩家在游戏中使用高科技的未来装备与怪物展开战斗,防御他们的入侵,升级自己的装备和火力,多...
洗车店一年能赚多少
916.3M
VeraCrypt是一个免费的磁盘分区加密软件,支持硬盘、U盘、移动硬盘等所有磁盘的分区加密,也可以加密整个硬盘,允许用户可自行选择喜欢的加密算法,并且能直接创...
bodycam在哪里试玩
2025/11/11 23:03
一人有限责任公司提现
2025/11/17 21:24
打鱼赚钱游戏下载
2025/11/13 04:03
大河棋牌app
2025/11/16 10:06
国外网赚真实赚钱项目
2025/11/09 11:12
广告公司能赚多少钱
2025/11/11 09:11
县城婚介怎么赚钱
2025/11/09 07:15
亲鹏棋牌能赚钱吗安卓
2025/11/16 11:38
比特币交易提现要多久
2025/11/17 21:56
摆摊洗照片赚钱吗
2025/11/10 12:27
玩手机怎么样能赚钱
2025/11/19 13:02
可以赚钱的软件捕鱼游戏
2025/11/13 00:22
35273棋牌能赢吗
2025/11/16 12:04
安卓模拟器挂微信赚钱
2025/11/08 08:27
爱玩棋牌代理
2025/11/14 13:14
爱玩棋牌代理
2025/11/14 13:14更新
对于电脑游戏玩家来说NVIDIA是不陌生的,最近NVIDIA推出了官方的NVIDIAApp,主要是整合之前的GeForceExperience和NVIDIA控制...
支持 ( 46 ) 盖楼(回复)
支持 ( 127 ) 盖楼(回复)
支持 ( 181 ) 盖楼(回复)
支持 ( 190 ) 盖楼(回复)
支持 ( 44 ) 盖楼(回复)
支持 ( 71 ) 盖楼(回复)
支持 ( 195 ) 盖楼(回复)
支持 ( 151 ) 盖楼(回复)
支持 ( 125 ) 盖楼(回复)
支持 ( 153 ) 盖楼(回复)
支持 ( 123 ) 盖楼(回复)
支持 ( 50 ) 盖楼(回复)
支持 ( 133 ) 盖楼(回复)
支持 ( 16 ) 盖楼(回复)
支持 ( 185 ) 盖楼(回复)
支持 ( 73 ) 盖楼(回复)
支持 ( 22 ) 盖楼(回复)
支持 ( 189 ) 盖楼(回复)
支持 ( 46 ) 盖楼(回复)
支持 ( 109 ) 盖楼(回复)