1.HtmlCleaner的文档对象模型拥有了一些函数,处理节点和属性,所以在序列化之前搜索或者编辑是非常容易的。安岳圈1.1.2 最新版
2.提供基本HtmlCleanerDOM的XPath支持
3.使用XML配置文件让创建定制tag变得更加容易
4.修复多个bug以及API改进
它被设计的小,快速,灵活而且独立。HtmlCleaner也可用在Java代码中,当命令行工具或Ant任务。解析后编程轻量级文档对象,能够很容易的被转换到DOM或者JDom标准文档,或者通过各种方式(压缩,打印)连续输出XML。
HtmlCleaner是一个免费开源的适用范围广的Java语言Html文档解析器,它能重新整理HTML文档的每个元素并生成结构良好(Well-Formed)的HTML文档。默认它遵循的规则是类似于大部份web浏览器为创文档对象模型所使用的规则,户可以提供自定义tag和规则组来进行过滤和匹配。
写一个测试用的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兼容性比较好。
群里买时时彩 亚博台子靠谱吗 56体育 博鱼体育电竞 赛德体育用品展开内容
小象管家app1.0.0 安卓手机版
绵阳新同城app5.2 安卓版
倒计时软件下载-倒计时助手1.72 中文免费绿色版
摩尔派app2.1.3 安卓版
暖暖宫廷情缘经典版-暖暖宫廷情缘1.0手机版
New Tractor Farming Simulator 20191.0安卓版
花椒直播app官方下载-花椒直播9.5.6.2022 最新版
全民冒险王变态版下载-全民冒险王BT版1.00.000 安卓最新版
小兔子儿歌app下载-小兔子儿歌安卓版4.0.2 手机最新版
云龙智慧监管app下载-云龙智慧监管app6.18.6 安卓版
深i企-精准服务企业下载-深i企app1.0.0官方安卓版
泽尔图斯0.1最新版
笔画笔顺助手软件下载-笔画笔顺助手app1.1 手机版
浩辰CAD2019特别版下载-浩辰cad 2020免费版v190128官方版【64位】
多言同学app下载-多言同学app英语学习软件1.0.1 官方版
9.5/1,725.5M
可以根据你需要的关键字来搜索海量高清对比图的医美同行应用,一美助手app支持智能的搜索功能,海量高清的对比图和专属的文案设计,支持自动生成水印和专业的文案设计功...
8.5/770.1M
软件是一款阅读资讯软件,在上面有着很多的资讯教程,专业化指导,可以轻松进行答题,学习更多的读书资料,培养你的学习兴趣!阅度春秋是什么阅度春秋APP是一款专门为整...
幼儿园防溺水安全教育ppt-幼儿防溺水主题班会ppt(共33页)免费下载【珍爱生命预防溺水】
8.3/623.6M
幼儿防溺水主题班会ppt,一款让大家珍爱生命,防止溺水的主题班会。让各位幼儿园的小朋友们意识到水的危险。不敢在危险的水域进行玩耍。欢迎有需要的朋友前来东坡下载使...
海上漂流记新世界手机最新版下载-Shipwrecked: New World海上漂流记新世界2.1.1安卓版
9.9/1,629.1M
想想自己有一天在海上遇难了怎么办?海上漂流记新世界带你体验绝处逢生的惊险感受!漂泊数日终于迎来新大陆!运用你的智慧活下去!海上漂流记:新世界是知名游戏开发商Ze...
必过app下载-必过app(备考神器)3.5.10安卓最新版
9.4/825.7M
必过app是一款在线学习软件,为用户提供职业资格考证系列和自学考试课程,软件包括视频教学、章节练习、模拟考试、重点串讲、错题本等学习内容,帮助你轻松通过职业技能...
8.5/501.2M
卡路里计算器MyFitnessPal是一款非常强大的手机计算工具,在这里用户能够计算自己每天的卡路里量,方便减肥。卡路里计算器MyFitnessPal介绍卡路里...
火山的女儿再度重逢下载安装手机版-火山的女儿再度重逢手机版1.0 安卓版
9.6/256.3M
经典养女儿游戏的Steam移植版本,内容非常多,每个功能都有图文介绍大概玩法和操作步骤,引导方面很详细,上手门槛不太高。女儿有体魄、智力、情感、想象四维属性,通...
哔哩哔哩车机版下载安装-哔哩哔哩车机版最新版2.9.1 车载版
9.9/1,203.9M
哔哩哔哩是指的可以安装在车机上的版本,车机版和安卓版,pad版都不同,因为车机版需要的是稳定,所以去除了很多累赘的内容。用户的车机系统如果可以联网,就直接在本页...
乐嘉颜色测试性格分析app下整-你的性格颜色测试1.0安卓版
8.1/1,036.3M
你的性格颜色测试是一款性格测试的软件,可以通过性格来进行测试,隐私性非常的强,不会被泄露信息。你的性格颜色测试软件功能1、进行性格测试的软件,可以知道自己是什么...
10.0/584.3M
采用全新的现代化办公系统,明良ERP安卓版可以定位各个分公司的位置,考勤、外勤都能及时知道,还有展会详细的地址和信息,是款非常实用的办公软件。功能介绍明良ERP...
九州行之山海经手游下载-九州行之山海经安卓版100.0.0 官方版
7.6/1,599.3M
九州行之山海经是一款经典仙侠世界rpg冒险手游。游戏以上古神话山海经为背景蓝图。玩家可以选择喜欢的仙侠门派进行战斗。超燃对决开启更加无双的三界之战,御剑飞行,还...
9.2/847.9M
牙科诊所管理系统是针对牙科专门开发的诊所管理软件,能满足诊所业务中预约,看诊,收费,发药,经营分析等多环节,更易操作,更高效,更稳定。牙科诊所管理系统功能1、基...
喜迎2021朋友圈文案九宫格图片下载-2021最有创意跨年九宫格朋友圈图片高清无水印版
8.7/445.4M
2021最有创意跨年九宫格朋友圈图片分享给大家,马上就是元旦了,自然少不了一组好看的跨年九宫格图片,发到微信朋友圈中,加上俏皮的文案,绝对是一个吸引人又有趣的说...
8.6/466.0M
想要激情尬舞就来唱舞团手游,游戏融合舞蹈、音乐、换装等玩法于一体,拥有极佳的音乐效果,炫酷的舞蹈动作,没事的时候玩玩这款游戏,可以愉悦心情!唱舞团手游玩法1、K...
8.1/1,691.4M
夏日甜心手游九游版是一款根据原版电视剧改编的手游,完美还原的剧情,非常漂亮的小姐姐等各种人物,给大家提供的是最新的九游版本下载,各种礼包福利免费领取!夏日甜心手...
斗破苍穹巅峰对决下载-斗破苍穹巅峰对决官方手游1.0.3_21 最新版
7.8/1,888.6M
斗破苍穹作为国漫巅峰创作,其中的蛇人女王美杜莎更是漫迷心中的冷艳女神,云芝岩枭的山洞之旅也让漫迷们意味悠长,斗破苍穹,巅峰对决—场面还原动漫故事,每一帧都流露出...
9.4/872.7M
优复数学app是一款优秀的学习软件,有很多经验丰富的老师给学生上课,覆盖学习的每一个环节,专题课程按照章节划分,帮助学生更好的学习。优复数学app使用方法需要用...
三国群英传霸王之业官网下载apk-三国群英传霸王之业官网版1.17.1 官网安卓版
7.9/1,180.6M
三国群英传霸王之业内测了那么久现在正式的上线了官网以及官方版本,喜欢玩的可以直接的领取游戏的礼包以及在东坡下载官方最新的版本,为你的霸业去争霸吧!三国群英传霸王...
问卷调查模板下载-旅游调查问卷参考模板doc格式【word版】
8.7/479.4M
需要制作一份旅游调查问卷,但不知从何开始写起?如果这是你的问题所在的话,不如来看看这份旅游调查问卷模板吧!该问卷调查共有26道题,下文有该旅游调...
护士简历表格下载-急诊输液室护士简历模板word格式免费下载
9.0/307.5M
急诊护士们是非常的辛苦的,往往都要熬夜班。如果你想要当一名让你敬佩的急诊输液室的护士的话,你可以来看看这份急诊输液室护士简历模板,欢迎前来东坡下载使用!急诊输液...
寿司日语学习客户端下载-寿司日语学习1.0.0 安卓最新免费版
8.3/1,332.2M
一款高效的日语学习软件,在寿司日语学习APP里可以学习口语、书面语等等。翻译准确,针对性强,从初级到高级循序渐进,让用户在学习中感觉到快乐。有需要的朋友们快来下...
9.5/1,544.7M
美空天气app是一款小清新实时天气APP,不仅能够提供天气相关的所有查询功能,还有实景照片小视频等特色功能,同时占用手机极小内存,让出行更放心。美空天气app主...
蜀山战纪2IOS下载-蜀山战纪2手游苹果版3.3.1 官方苹果版
8.9/191.3M
蜀山战纪2手游苹果版,由蜀山战纪2踏火行歌电视剧改编,游戏完美还原了电视剧中的人物与场景,再现原汁原味的蜀山世界,感兴趣的玩家快来下载体验吧!游戏背景余英奇的部...
还让不让人说真话了表情包下载-还让不让人说真话了表情包合集完整无水印版
8.0/609.1M
还让不让人说真话了表情包是一款现在非常火爆的表情包。还让不让人说真话了表情包,一组新的熊猫头抬杠ky表情包,最经典的“我纯路人”,各种黑子杠精表情包,非常的有趣...
7.5/580.3M
华为培训学院app是华为面向ICT领域的客户开发的移动综合型学习平台,平台旨在为ICT领域培养高质量的人才,拥有十分丰富的课程,通过线上+线下多种有效方式来培养...