自定義HTMLParser的復合標籤

2021-04-12 17:00:12 字數 1273 閱讀 9217

import org.htmlparser.nodes.tagnode;

/*** title: link標籤解析類

* description:

* company: 用於解析html檔案的link標籤

*    例如:解析"..."

*    getattribute("rel") == "stylesheet"

*    getlink() == "當前路徑/skin/defaultskin.css"

*    gettype() ==  "text/css"

*   

* @author not attributable

* @version 1.0

*/public class linktypetag extends tagnode ;

private static final string mendtagenders = ;

public string getids()

public string getendtagenders()

public string getenders()

public string getattribute(string strtag)

public string getlink()

public string gettype()

}htmlparser將乙個文件分成三種節點分別是:remark(注釋);text(文字);tag(標籤)。而標籤又分成兩種分別是簡單標籤(tag)和復合標籤(compositetag),像

這種標籤稱為簡單標籤,因為標籤不會再包含其它內容。而像home這種型別的標籤,因為標籤會巢狀文字或者其他標籤的稱為復合標籤,也就是對應著compositetag這個類。簡單標籤的實現類很簡單,只需要擴充套件tag類並覆蓋getids方法以返回標籤的識別文字,例如標籤應該返回包含"img"字串的陣列,具體的**可以參考htmlparser自帶的imagetag標籤類的實現。復合標籤事實上是對簡單標籤的擴充套件,htmlparser在處理乙個復合標籤時需要知道該標籤的起始標識以及結束標識,也就是我們在前面給出的原始碼中的兩個方法getids和getenders,一般來講,標籤出現都是成對的,因此這兩個方法一般返回相同的值。另外乙個方法getendtagenders,這個方法用來返回父一級的標籤名稱,例如的父一級標籤應該是。這個方法的必要性在於html對格式的要求很不嚴格,在很多的html文件中的一些標籤經常是有開始標識,但是沒有結束標識,由於瀏覽器的超強適應能力使這種情況出現的很頻繁,因此htmlparser利用這個方法來輔助判斷乙個標籤是否已經結束。

自定義 如何自定義協議

何為自定義協議,其實是相對標準協議來說的,這裡主要針對的是應用層協議 常見的標準的應用層協議如http ftp smtp等,如果我們在網路通訊的過程中不去使用這些標準協議,那就需要自定義協議,比如我們常用的rpc框架 dubbo,thrift 分布式快取 redis,memcached 等都是自定義...

自定義控制項 自定義鐘錶

private context mcontext 畫筆 private paint mpaint 控制項的寬 private int mwidth x方向的圓心座標 private int center 鐘錶的半徑 private int mradio 圓環的寬 private int stroke...

自定義控制項及自定義屬性

自定義控制項在android開發中的重要性,是不言而喻,眾人皆知的。希望通過這二天的學習,能讓大家了解自定義控制項的原理,熟悉自定義控制項的使用步驟,並能寫出一些普通的效果。內容介紹 1 使用系統控制項,實現自定義的效果,案例有 優酷環形選單 廣告條 viewpager 下拉列表 spinner 2...