在進(jìn)行解析前,先將下面的第三方類添加到工程中:
添加以上三個(gè)類必須添加一個(gè)庫,這個(gè)庫是:libxml2.2.dylib。
還需要設(shè)置一些路徑參數(shù)這個(gè)路徑的設(shè)置,在 targets中,在build settings搜索Header Search Paths,將debug和release設(shè)置不同的值;
debug的值設(shè)置成:/usr/include/libxml2
release的值設(shè)置成:${SDKROOT}/usr/include/libxml2
將以上內(nèi)容設(shè)置好后,將#import "TFHpple.h"添加到解析html的類中,再寫解析方法;
一般思路如下:
1.首先將網(wǎng)頁的html轉(zhuǎn)換成oc能夠認(rèn)識的NSString數(shù)據(jù);用到的方法如下:
NSString *dataString = [NSString stringWithContentsOfURL:[NSURL URLWithString:htmlString] encoding:NSUTF8StringEncoding error:nil]; //htmlString是html網(wǎng)頁的地址
url為保存html網(wǎng)頁的地址,根據(jù)數(shù)據(jù)編碼格式的不同來選擇NSString的編碼格式,格式錯(cuò)誤則會報(bào)錯(cuò)261
2.截取所需數(shù)據(jù)所在的位置,得到最后所需解析的字段contEnd
3.將dataString轉(zhuǎn)換成NSData,給TFHpple類用
NSData *htmlData = [contEnd dataUsingEncoding:NSUTF8StringEncoding];//contEnd是需要解析的字段
3.設(shè)置html中節(jié)點(diǎn),根據(jù)節(jié)點(diǎn)取值,例如
.....
,可以用節(jié)點(diǎn)來取值;
使用htmlData和nodeString,解析自己需要的值:
新聞熱點(diǎn)
疑難解答
圖片精選