写一个测试用的html文件:html-clean-demo.htmlInNote智能笔记助手 app下载-InNote app1.0.2官方安卓版
<!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语言Html文档解析器,它能重新整理HTML文档的每个元素并生成结构良好(Well-Formed)的HTML文档。默认它遵循的规则是类似于大部份web浏览器为创文档对象模型所使用的规则,户可以提供自定义tag和规则组来进行过滤和匹配。
1.HtmlCleaner的文档对象模型拥有了一些函数,处理节点和属性,所以在序列化之前搜索或者编辑是非常容易的。
2.提供基本HtmlCleanerDOM的XPath支持
3.使用XML配置文件让创建定制tag变得更加容易
4.修复多个bug以及API改进
它被设计的小,快速,灵活而且独立。HtmlCleaner也可用在Java代码中,当命令行工具或Ant任务。解析后编程轻量级文档对象,能够很容易的被转换到DOM或者JDom标准文档,或者通过各种方式(压缩,打印)连续输出XML。
展开内容
跟我练1.5.8 安卓版
英魂圣域4.9地图下载-英魂圣域4.9正式版【附隐藏英雄密码】
伊对app下载安装-伊对相亲交友找对象8.2.700 最新版
鲁班软件官网下载-鲁班软件破解版(鲁班软件大全)4.1.0 免费最新版
你好炸弹人手游下载-你好炸弹人0.9.9 安卓版
可爱的猫咪生活养成游戏-猫咪模拟(可爱的猫咪生活手游)v1.0.0免费版
广州水天世界下载-水天世界app2.0.1 安卓免费版
霸途私服下载-霸途满v版1.0 安卓版
长生诀之倾世如歌手游下载-长生诀之倾世如歌1.0官网版
阳光好房app下载-阳光好房手机版1.2.5 安卓版
图灵猫app-图灵猫智能家居1.4.3.13 官方安卓版
菱声MP3定时播放器编程软件
梦幻手游首席竞选喊话器1.0 绿色免费版
有条美食街手游下载-有条美食街小游戏1.0.2 安卓版
测树高1.0安卓版
大语文黑夜里的灯塔读后感-大语文黑夜里的灯塔读后感400字doc精选版
7.7/466.3M
黑夜里的灯塔是大语文系列读物中的经典作品,由曹文轩著作,为2018寒假大连市教委阅读推荐书目,许多小朋友在寒假需要完成的阅读作业,并且要写读后感哦!小编带来了精...
小磊软件库5.0修复版修复版下载-小磊软件库5.0修复版v5.0 安卓版
7.7/1,866.3M
很多网友都是自己收集各种各样的福利软件分享给到大家,这个小磊软件库就是期中的一款,这里的软件绝大部分都是破解免费的,还有一部分是网友自制的小众但是很实用的工具资...
8.6/609.7M
啊哈哈,有没有见过这样的葫芦娃?这样的表情是不是很酷炫?用这款表情一定能提升自己的逼格。感觉很给力对吧!那就快来下载吧!葫芦娃恶搞QQ表情包简介葫芦娃恶搞QQ表...
7.9/243.2M
夜影影音app是一款看电影、电视、综艺和动漫的平台,支持全网所有最新的资源,没有广告,打开就直接播放,支持关键字搜索,最新的复联3也可以在线看,很不错。夜影影音...
9.0/18.7M
想不想设计一个专属于你的特殊个性网名?特殊昵称生成器是一个在手机上使用可以一键制作非常有创意网名的软件,它有三种特效供你选择,快来东坡下载制作你的特殊网名吧!特...
9.5/576.6M
这款软件是一款可以快速的点外卖的软件,你可以使用这个软件非常方便的查看到众多的外卖信息,支持一键的快速点外卖,让点外卖更加无忧!乡易达外卖app介绍乡易达外卖隶...
乐播投屏TV版下载-乐播投屏电视版(HappyCast)8.15.58 免费版
9.5/773.8M
虽说现在的手机屏是越来越大了,但有些人玩游戏还是觉得不过瘾,东坡小编今天带来的乐播投屏电视版可以让你在电视上玩手游,它完美支持苹果和安卓最新系统,可以直接将手游...
车了个车画桥车神游戏下载-车了个车画桥车神游戏1.2.1 安卓版
7.9/1,671.0M
车了个车画桥车神是一款画线闯关类的手机游戏,帮助游戏中的汽车顺利的度过游戏中的各种障碍,从而让自己可以完成游戏中的挑战,这款游戏中也有着很多的关卡可以让玩家们去...
9.3/320.9M
无遮挡查看招投标项目信息,蚂蚁投标app专业代做各类工程预算,建筑类标书,服务类标书,采购类标书等,中标如此简单,为您中标保驾护航。蚂蚁投标公司怎么样蚂蚁投标提...
涡轮螺旋桨飞行模拟器最新版下载-涡轮螺旋桨飞行模拟器2025最新版1.32 国际服
7.7/1,762.3M
最新版本的涡轮螺旋桨飞行模拟器3D版本(TurbopropFlightSimulator),目前是只有英文版本的,自动进入就是英文,需要有英文基础的玩家。模拟真...
魅蓝E Flyme6.7.4.25beta升级固件下载-魅蓝E Flyme6.7.4.25beta固件稳定版官方体验版
8.0/78.9M
魅蓝EFlyme6.7.4.25beta固件稳定版是一款修复魅蓝E固件的工具。如果你也是使用的魅蓝E,可不要错失了这款工具。它可以帮助你修复手机许多固件问题,升...
10.0/1,169.1M
红色联盟3是一款冒险解密手游,欧美风格的画面,搞笑的剧情,黑色幽默风格,有丰富的场景,完成各种任务,展开有趣的冒险。游戏背景由于Pete和Vas...
8.8/234.7M
微师app这里有丰富的课程知识,涵盖了各个行业的内容,利用业余的时间去学,适合现在快节奏的生活,每个人来了都可以有收获。微师app功能1、大咖严选爆款课程,与大...
9.2/688.9M
河北省人力资源市场服务中心主办的一款人才市场软件,为企业和求职者搭建了一个公开透明的环境,所有的信息都是真实有效的。关于我们“冀才网”是河北省人力资源市场开展高...
Art In Paradise相机下载-Art in Paradise软件4.4.5 安卓最新版
8.4/1,187.0M
这是一款充满了艺术气息的手机相机软件,ArtinParadise相机软件能为你提供各种素材和贴纸,让你的照片变得独一无二,更加个性化,充满了乐趣。ArtinPa...
2345天气预报免费下载安装-2345天气预报官方下载10.7.3.1 新版本
7.7/213.6M
2345天气预报是目前市面上占有率极高的一款查询天气的软件,可以直接免费看到未来半个月的天气哦,数据来源权威,还可以查看实时天气情况,最长支持40天的天气查询,...
9.4/91.2M
小森灵-森林合成家,休闲解压合成,装扮养宠开店,其实这款游戏就是就静静地合成升级完善你的农场的小游戏,将草苗慢慢合成笑话,合成小熊,照看花草,获得金币,一步一步...
珠江智慧物管app下载-珠江智慧物管app1.2.1 安卓版
8.2/328.9M
珠江智慧物管app是一款为了更好地满足业主物业服务的APP。它包含物业缴费、报事报修、通知公告、投诉建议等功能,集物业基础服务、健康服务、生活服务及特色资源服务...
8.2/683.1M
《边缘世界》光照贴图v1.2MOD。一款简单的美化补丁,玩家装上这个不定以后现在的光照贴图比原版的优化很多,具体的玩家可以进游戏体验一下。使用方法1、首先确认游...
8.4/1,946.2M
火柴人的愤怒是一款以火柴人为角色扮演的益智闯关游戏。玩家在游戏中可以选择不同的场景去冒险完成任务,轻松有趣容易上手,特备适合工作之余解压。还有更多板块等待解锁升...
8.3/214.6M
千家购是一款购物App软件,在购物商城里用户喜欢什么就买什么,当然下单即可送优惠券的,方便用户下次购买,高性价比的商品信息和优惠活动等着你来享受购买咯!千家购特...
9.4/605.5M
英雄大作战是一款画风清新的跑酷手游,在跑酷的过程中你将会获取超能力,要善于使用超能力摧毁一路上的障碍,游戏玩起来很轻松,感兴趣的小伙伴快来东坡下载吧!英雄大作战...
绿联网络私有云存储客户端-绿联云智能云存储app2.5.0 官方正版
7.7/1,390.3M
绿联云为您提供安全稳定的文件、数据管理服务.绿联云智能云存储app介绍【远程访问】随时随地上传、下载、分享文件;【自动备份】自动备份,再也不用担心重要照片或文件...
8.9/1,770.8M
血饮天下是一款血战八方的英雄三国全屏较量角色扮演类手游,和各位豪杰好煮酒论英雄,一世的英雄来感受英雄无限的斗争之旅,在这个风起云涌的世界来完成众多征程的使命,每...
8.6/830.6M
爱快优惠卷生成助手就是款方便快捷的手动生成爱快WIFI优惠卷的工具。它不但支持最为强大的pos打印功能,还能够生成大量的WiFi授权码,从而被顾客免费使用,觉得...