软件发布| 专题库| 优优资讯| 苹果专区| 安卓专区| 软件下载| 首页
优优资讯 电脑教程 安卓教程 安卓攻略 苹果教程 苹果攻略 新闻资讯

IOS开发:Html解析方法

时间:2015-10-22 来源:本站整理 我要评论


 
  初次解析html,使用是网上的第三方类;我使用的是以下三个类,将其添加到项目中:
  
  #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的类中,再写解析方法;
  
  一般思路如下:
  
  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;)
  
  Demo链接:http://code4app.com/ios/%E8%A7%A3%E6%9E%90HTML/5167ca396803faf447000002
 

用户评论

(已有0条评论)
表情
注:您的评论需要经过审核才能显示哦,请文明发言!
还没有评论,快来抢沙发吧!
快速检索
0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z