HtmlCleaner更新內(nèi)容
1.HtmlCleaner的文檔對象模型擁有了一(yī)些(xiē)函數,處理節點和屬性,所以在序列化之前搜索或者(zhě)編輯是非常容易的(de)。
2.提供基本HtmlCleanerDOM的XPath支(zhī)持(chí)
3.使用XML配置(zhì)文件讓創建定製tag變得更加容易
4.修複多個bug以及API改進
HtmlCleaner是一個免費開源的適(shì)用範圍廣的Java語言(yán)Html文檔解析器,它(tā)能重新整理HTML文檔的每個元素並生成結構良好(Well-Formed)的HTML文檔。默認它遵循的規則是(shì)類似於大部份web瀏覽器為創(chuàng)文檔對象(xiàng)模型所使用的規則,戶可以提供自定義tag和規則組來進行過濾和匹配(pèi)。
HtmlCleaner軟件特色
它被設(shè)計的小,快(kuài)速,靈活而且獨立。HtmlCleaner也可用在Java代(dài)碼中,當命令行工具或Ant任務。解析後編程輕量級文檔對象,能夠很容(róng)易的被轉換到DOM或者JDom標(biāo)準文檔(dàng),或者通過各種方式(壓縮,打印)連續輸(shū)出(chū)XML。微趣小(xiǎo)視頻app下載-微趣小視頻1.13.0 安卓版
HtmlCleaner使用(yòng)示例
寫一個測試用(yòng)的(de)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>
模擬(nǐ)需求:取出title,name="my_href"的鏈接,div的class="d_1"下的(de)所有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.evalsuateXPath("//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.evalsuateXPath("//div[@class='d_1']//li");
for(Object on : ns) {
TagNode n = (TagNode) on;
System.out.println(" text="+n.getText());
}
System.out.println("a:");
//按屬性值(zhí)取(qǔ)
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()中的參數,可以是文件,可(kě)以是url,可以是字符串內(nèi)容(róng)。個人認為:比較(jiào)常(cháng)用的應該是evalsuateXPath、getElementsByAttValue、getElementsByName方法了。另外說明下,htmlcleaner對不規範的html兼容性(xìng)比(bǐ)較好。
亚博科技竞猜 亚博账号冻结 ag娱乐 博彩 腾博会官网登录 双色球推荐群展開

噴(pēn)氣機槍手遊下載-噴氣機槍安卓版1.7.3 官方版
全(quán)家福(fú)素材-設計全家福必備PS素材jpg格式(shì)免費(fèi)版【ps全家福背景素材】
元夢之星雲(yún)遊戲下載(zǎi)-雲元(yuán)夢之星2025最新(xīn)版5.0.1.4019306 官方版
切割大師割草遊戲下載(zǎi)-切割大師割草遊(yóu)戲0.02.09 安卓(zhuó)版
公主彩繪本遊(yóu)戲(xì)下(xià)載-公(gōng)主彩繪本遊戲1.1 安(ān)卓版
帶有OCR的PDF掃描儀(yí)app下載-PDF Scanner With OCR(帶有OCR的PDF掃(sǎo)描儀手機版)1.0.0 安卓手機版
租(zū)用潛水船合同下載-租用(yòng)潛水船合同範本doc免費版(bǎn)
土豪贏三張官方最新版下載-土豪贏三張官方正(zhèng)版1.5.0 最新版
論文降重(chóng)助手(論(lùn)文修改助手3.0多線(xiàn)程工具)3.0 最新版(bǎn)
大師奇門遁甲排盤軟件官方下載-大師奇門(mén)排盤軟件11.0 安卓版
驚蟄節(jiē)氣圖片-二十四節氣驚蟄圖片(piàn)2018最新版
PHP開發工具(CodeLobster PHP Edition)5.6.0 中(zhōng)文安裝版(附注冊碼)
慧顏AI下載安裝官方版-慧顏AI測顏(yán)值軟件1.0.0 最新版(bǎn)
MMA經理手機版0.6.14 安卓版
極視雲APP下載安裝-極視雲4G智(zhì)能攝像頭手機客戶端(duān)1.5.2 最新版
護士(shì)工作總結ppt免費版下載-2020年護士工作總結PPT模板完整版
skibidi toilet下(xià)載安裝-Skibidi Toilet4 安卓版
風雪閣社區(qū)軟件下載-風雪閣社區手機版2.0.0 安卓版
搞怪沙(shā)狐球免費下載-OLO Loco(搞怪沙(shā)狐球遊戲)1.0.0 安卓多人聯機版
減(jiǎn)負(fù)解壓(yā)神器(qì)下載-減負解壓神器遊戲1.0 安卓(zhuó)版