您的位置:首页 > 移动开发 > IOS开发

ios开发解析HTML

2016-05-07 09:48 441 查看
首先要加载三个必备的文件:

#import "TFHpple.h"                     

#import "TFHppleElement.h" 

#import "XPathQuery.h" 
注意:

添加以上三个类必须添加一个库,这个库是:libxml2.2.dylib。并且还需要设置一些路径参数,否则会一直报错;这个路径的设置,在 targets中,在build settings搜索Header Search Paths,将debug和release设置不同的值;

debug的值设置成:/usr/include/libxml2

release的值设置成:${SDKROOT}/usr/include/libxml2

将以上的设置好了以后,就是使用的时候;将#import "TFHpple.h"添加到解析html的类中,再写解析方法;

解析过程:(和GDate解析XML过程原理一样)

1.首先将网页的html转换成oc能够认识的NSString数据;用到的方法如下:

NSString *dataString = [NSString stringWithContentsOfURL:[NSURL URLWithString:htmlString] encoding:NSUTF8StringEncoding error:nil];  //htmlString是html网页的地址 

2.将dataString转换成NSData,给TFHpple类用

NSData *htmlData = [dataString1 dataUsingEncoding:NSUTF8StringEncoding]; 

3.设置html中节点,根据节点取值,例如<p>.....</p>,可以用节点来取值;

如NSString *nodeString = @"//p";

使用htmlData和nodeString,解析自己需要的值:

TFHpple *xpathParser = [[TFHpple alloc] initWithHTMLData:htmlData]; 

NSArray *elements  = [xpathParser searchWithXPathQuery:nodeString];  //这个数组中就有需要的值 

(TFHppleElement中提供很多方法,可以用这些方法获取elements的值,如- (NSArray *) children;)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  IOS html HTML解析