zoukankan      html  css  js  c++  java
  • iOS开发中的Html解析方法

    本文转载至 http://mobile.51cto.com/iphone-429980.htm

    本文作者为大家介绍了在iOS开发中的Html解析方法,并同时提供了Demo代码的下载链接,Demo 解析了某个网站(具体可在代码中查看)的html网页,提取了图片以及标题。

    初次解析html,使用是网上的第三方类;我使用的是以下三个类,将其添加到项目中:

    1. #import "TFHpple.h"                     
    2. #import "TFHppleElement.h" 
    3. #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数据;用到的方法如下:

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

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

    1. NSData *htmlData = [dataString1 dataUsingEncoding:NSUTF8StringEncoding]; 

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

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

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

    1. TFHpple *xpathParser = [[TFHpple alloc] initWithHTMLData:htmlData]; 
    2. NSArray *elements  = [xpathParser searchWithXPathQuery:nodeString];  //这个数组中就有需要的值 

    (TFHppleElement中提供很多方法,可以用这些方法获取elements的值,如- (NSArray *) children;)

    Demo链接http://code4app.com/ios/%E8%A7%A3%E6%9E%90HTML/5167ca396803faf447000002

  • 相关阅读:
    jdk与jre安装之后的名字
    手机用笔记本上网
    Django简易安装
    python 结巴分词
    Elasticsearch shield权限管理详解
    nginx配置初步
    linux 使用 rz 和 sz 命令
    eclipse 鲜为人知的调试技巧,你用过多少
    HDOJ 题目3555 Bomb(数位DP)
    Ubuntu1204 vim中文乱码解决方法
  • 原文地址:https://www.cnblogs.com/Camier-myNiuer/p/4092311.html
Copyright © 2011-2022 走看看