HtmlCleaner是一个免费开源的适用范围广的Java语言Html文档解析器,它能重新整理HTML文档的每个元素并生成结构良好(Well-Formed)的HTML文档。默认它遵循的规则是类似于大部份web浏览器为创文档对象模型所使用的规则,户可以提供自定义tag和规则组来进行过滤和匹配。管理学原理学习心得-管理学原理ppt全课件(共247页)最新整理版【管理学资料】
它被设计的小,快速,灵活而且独立。HtmlCleaner也可用在Java代码中,当命令行工具或Ant任务。解析后编程轻量级文档对象,能够很容易的被转换到DOM或者JDom标准文档,或者通过各种方式(压缩,打印)连续输出XML。
写一个测试用的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兼容性比较好。
1.HtmlCleaner的文档对象模型拥有了一些函数,处理节点和属性,所以在序列化之前搜索或者编辑是非常容易的。
2.提供基本HtmlCleanerDOM的XPath支持
3.使用XML配置文件让创建定制tag变得更加容易
4.修复多个bug以及API改进
乐鱼体彩敖信誉 九游戏游 北京众博体育 墙体彩绘壁画 必威体育网页版展开内容
龙界传奇手游下载-龙界传奇3.1.3 安卓版
系统服务组件最新版下载-小米系统服务组件9.11.41 更新版
魔兽圣地的黄昏1.0.5下载-圣地的黄昏1.0.5正式版【攻略+隐藏英雄密码】
无尽战区觉醒手游下载-无尽战区觉醒1.3.8 安卓版
我们的少年时代薛之谦表情包-我们的少年时代薛之谦表情图片大全高清版
智云问诊app下载-智云问诊app1.7.7 医生版
微检票app1.4 ios版
蚂蚁私塾下载-蚂蚁私塾app2.20.2103261 安卓版
幻化忍法帖手游下载-幻化忍法帖1.0 官网版
QQ表情包下载-熊小弟QQ表情包1.0 绿色版
葱花清理大师下载-葱花清理大师1.4.2 安卓版
火星app下载安装-火星聊天软件v2.8.0 安卓版
寝具网-寝具网1.8.1 最新版【睡眠用品购买】
英语同步三年级下册人教版下载-英语同步三年级下册app1.2.2 完整版
猛鬼宿舍校园版最新下载-猛鬼宿舍校园版2.1.2 安卓版
7.7/1,201.9M
无忧客栈是一款古风经营手游,在游戏中玩家经营一家客栈,你可以在这里种植各种作物作为食材,重要的是,游戏中有海量的现金红包可以领取,全部都是可以提现的那种,感兴趣...
健康管理师考试云题库下载-健康管理师考试云题库2.7.9 安卓手机版
9.1/1,244.6M
健康管理师考试云题库app是一款专为健康管理师考证学习所设计的软件,题库内容丰富有针对性,精选历年真题和模拟试题,解析也是很明了的,让用户能在短时间内提高分数,...
攀枝花市妇幼保健院app-攀枝花市妇幼保健院1.5.0 官网最新版
8.1/634.5M
攀枝花市妇幼保健院app是一款医院客户端软件,用户可以通过app在线预约挂号,还可以用来查询费用、查看报告单,需要的网友可以来下载!攀枝花市妇幼保健院app介绍...
黑莓音效键盘下载-BlackBerry 键盘(黑莓音效键盘美化包)1.0 讯飞版
9.5/1,993.4M
可让您自由选择虚拟触摸屏键盘或物理键盘,并确保速度和准确性两不误。快速打开滑块可关闭触摸屏键盘,释放宝贵的屏幕空间。显示的完整物理键盘还能当作触摸感应式触控板来...
9.9/850.9M
gumguy是一款非常好玩的单机类休闲游戏,这款游戏的画面非常的小清新,有着简单的操作,在游戏当中你操作这各个小小的黑球(貌似),不断的突破各个关卡,喜欢这类游...
fdwall下载-FDwall元素动态壁纸v3.1.4-china 中文免费版
10.0/1,792.6M
FDwall是一款自定义的手机桌面壁纸创作软件。支持多种类型图片网页文件自定义编辑,支持JS交互定制,自由查看多种元素,赶快下载FDwall,制作属于自己的独特...
9.4/64.1M
深度游戏DG是一款支持体验各种游戏的游戏盒子,在这里玩家能免费玩到各大经典游戏,全部都是大作或者非常热门好玩的游戏,免费就能玩哦,有需要的小伙伴快来uzzf东坡...
9.6/510.7M
优加商城app是一款手机购物软件,平台支持话费充值、流量充值、服饰购买、家具购买、生活用品、零食等多种商品销售,你不需要出门就能买到自己喜欢的商品。优加商城ap...
9.2/1,063.8M
蜜蜂追书proapp是一款优质的免费电子书阅读软件,app上拥有非常丰富的免费优质电子书,用户可以根据自己的需求喜好选择阅读,无论是你想看的还是没有听说过的优质...
8.8/1,590.5M
网络民工是抖音自动抢红包模块,这个是官方最新版本,这个可以直接打开,里面有使用方法说明。这款软件可以帮助大家自动抢抖音里面发的红包,就不用我们再时刻不停的盯着手...
最终幻想15新帝国ios下载-最终幻想15新帝国官网ios版3.25.76 ios金币修改版
9.7/1,528.1M
最终幻想15新帝国是一款最新推出的手机游戏,玩家期待已久,现已经正式登陆ios平台,小编带来了最终幻想15新帝国ios下载地址,快来下载进入游戏体验吧!最终幻想...
c语言学习指南app下载-C语言学习指南手机版1.0.0 免费版
8.6/1,075.5M
帮助大家去学习c语言,C语言学习指南软件分享了很多精品的课程,从基础到高级的都有,随时的利用到业余的时间去学习,提升水平。C语言学习指南手机版介绍每天学习一点C...
人教版pep七年级下册英语课本下载-2018初中英语七年级下册点读软件ios3.8 苹果版【人教版pep】
9.3/1,759.7M
2018初中英语七年级下册点读软件是一款非常不错的手机学习软件,该软件包含了初中一年级下册英语课本所有单词,随时随地在线点读,帮助大家提高英语发音以及单词的熟记...
8.5/32.7M
海鸥搜索隐藏文件是一款专门为Windows操作系统隐藏文件搜索工具,该软件集在同一个页面实现操作和使用,轻松帮助用户搜索到隐藏文件,该软件小巧实用,无需安装,欢...
7.8/912.1M
啪嗒路由器app就一款可以适配Padavan老毛子固件的控制软件,可以直接解析路由器的控制页面,能实时查看cpu的内存,功能很强大,看手机网速,系统设置,cpu...
全国违章查询app下载安装-全国违章查询app8.2.2官方最新版
9.1/761.4M
全国违章查询app是一款为全国车主研发的机动车违章查询软件,app上拥有非常便捷的查询功能,同时也拥有非常丰富的车评版块,帮助用户了解汽车的最新资讯,非常的适合...
135微信编辑器下载-135编辑器(微信排版编辑器)2.0.0官网最新版【2017】
9.2/1,842.8M
135编辑器是目前来说非常好用的微信图文美化编辑器。它打破了传统的编辑排版的方式,而是采用更加人性化的编辑方式,让更多人快速编辑出非常美观的微信图文消息。特别是...
地主来了红包版2022下载-地主来了20223.26 安卓版
9.8/768.1M
地主来了中有很多有趣的玩法。游戏中有各种福利领取,随时解锁各种玩法任务,赚取更多的现金红包,是一款值得你一直玩下去持续有收益的手游,感兴趣的小伙伴快来东坡下载吧...
我们是谁表情包制作软件ios下载-我们是谁朋友圈p图软件app苹果版4.9.8 官方最新版
10.0/324.0M
我们是谁朋友圈p图软件苹果版是一款很不错的微信朋友圈p图软件,用户可以利用此款来进行搞笑的p图对话文字,并且支持将p出来的图片生成表情包,非常有趣,有喜欢的赶紧...
Puppet Head Football Kick(木偶头足球模拟手游)1.0 安卓版
9.4/1,279.5M
木偶头足球模拟是一款休闲的足球手游,主要是玩法是需要将足球踢到足球框里,需要掌握角度,但是设置了一些障碍,还是挑战性的。木偶头足球模拟玩法首先有角度,注意障碍物...
8.2/1,385.6M
新疆农民工工资支付监控预警平台的企业版本,这里企业最好是下载这个APP通过这个APP查看自己企业的状况以及工人的工资情况,到了相应的时间就可以在这里发放工资,记...
7.8/1,915.4M
超清电脑屏幕放大镜是一个方便眼睛模糊、视力障碍人士的绿色免费小软件,简体中文,免安装,方便实用!本软件适用于windowsxp、win7等全部的windows系...
8.6/679.0M
遗失的心跳手游非常受欢迎的明星养成的模拟游戏,你将化身为明星管理者,带领着你的明星们一起来培养你们的明星。游戏内不仅设定了海量精彩的剧情内容,更有全新的玩法等你...
dnf动漫过图界面补丁下载-dnf动漫城镇过图界面补丁2.0 免费版
8.7/428.7M
这是我们小编为喜欢玩dnf的玩家们带来的一个dnf动漫城镇过图界面补丁,帮助大家对dnf游戏界面进行美化,非常的漂亮,有需要这个dnf动漫城镇过图界面补丁的可以...
零五网下载app-五零网暑假作业答案2024年最新版(零五网)2.1 手机版
7.7/1,797.4M
五零网其实就是《零五网》,这个平台是专为学生以及部分老师设计的在线获取最新的测试试卷答案还有电子课件的平台,支持移动端的app下载,如果你是安卓手机的话也可以直...