為了支持LingosHook Android Client,今天優(yōu)化了我的HTML解析類--TinyHtmlParser。長(zhǎng)時(shí)間沒(méi)看LingosHook代碼,都不認(rèn)識(shí)了,分析了很久才明白其工作原理,汗啊,這曾經(jīng)可是自己寫的啊。。。
這次增加了一個(gè)新的分解過(guò)程中類型 -- DT_END_SPECIAL,用于指點(diǎn)類似<META .../>的元素,真沒(méi)想到,以前竟然不支持這個(gè),如果元素是以'/'結(jié)尾的話,只能放到DT_SPECIAL列表中,這方法太無(wú)聊了。。。
還有,這次增加了輸出功能,分解后的數(shù)據(jù)可以再合成一個(gè)HTML串了。這樣極大地方便了定制輸出,以后提取指定數(shù)據(jù)要準(zhǔn)確和靈活很多了。(哈哈,可以增加真正的數(shù)據(jù)導(dǎo)出功能了。。。)
就這些,TinyHtmlParser在類似'<A>[<B>123</B>]</A>'的處理上還不夠靈活,導(dǎo)致輸出時(shí)有些走樣,還有再改改。另外,輸出函數(shù)直接放到TinyHtmlParser類中有些勉強(qiáng),還是單獨(dú)弄個(gè)Ouput類來(lái)處理比較,比較好看。
<---- 就是分割線 ---->
喜歡看代碼的,請(qǐng)幫忙檢查這里
TinyHtmlParser.h 和
TinyHtmlParser.cpp ,辛苦了。