Demo链接:http://code4app.com/ios/%E8%A7%A3%E6%9E%90HTML/5167ca396803faf447000002
将下载好的demo中 TFHpple.h TFHpple.m TFHppleElement.h TFHppleElement.m XPathQuery.h XPathQuery.m 六个文件拷入到自己的工程中
添加一个本地库 libxml2.2.dylib
之后在targets中,在build settings 搜索Header Search Paths,
将debug和release设置不同的值;
debug的值设置成:/usr/include/libxml2
release的值设置成:${SDKROOT}/usr/include/libxml2
之后在需要解析HTML的类中引入头文件
1.首先将网页的HTML转换成OC能够认识的NSString数据
//htmlString是html网页的地址
NSString *dataString = [NSString stringWithContentsOfURL:[NSURL URLWithString:htmlString] encoding:NSUTF8StringEncoding error:nil];
2.将dataString转换成NSData,给TFHpple类用
NSData *htmlData = [dataString1 dataUsingEncoding:NSUTF8StringEncoding];
3.设置HTML中的节点,根据节点取值例如<p>......</p>可以用@"//p"
NSString *nodeString = @"//p";
&lbsp; TFHpple *xpathParser = [[ TFHpple alloc ] initWithHTMLData :htmlData];NSArray *elements = [xpathParser searchWithXPathQuery:nodeString];
4.如果取其中content部分
NSMutableArray *array=[[NSMutableArray alloc]init];
for (TFHppleElement *element in elements) {
if ([element content]!=nil) {
// NSLog(@"%@",[element content]);
[array addObject:[element content]];
}
}
array中即是HTML中的content
5.其他字段在demo中都有介绍
还有很多功能在此就不一一列举了