iOS解析HTML

来源:互联网 发布:php员工管理系统源代码 编辑:程序博客网 时间:2024/06/07 03:57
HtmlParse【可去github下载】
准备:
  1. 导入到工程包中
  2. 在frameworks中导入libxml2.2文件
  3. 文件使用非ARC结构 
  4. 添加UIKit框架的引用
编译出现问题:
编译会提示 ’libxml/tree.h‘file not found

原因:这是因为类库没有链接进来的原因。虽然导入但是需要再进行链接才行。

解决方案:
在Build Settings 中搜索Header Search Paths :设置如下:$(SDKROOT)/usr/include/libxml2 编译即可成功

另外搜索资料,最好在搜索引擎上查找最近一月内的信息,因为太早的out了!


类的使用。  TFHpple

1. 定位所需要的网址:
NSString *urlString = @"http://www.weiphone.com/apple/news/index_1.shtml";

2. 转成NSData类型
NSData *htmlData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:urlString]];

3. 转为解析类型
TFHpple *xpathParser = [[TFHpple alloc] initWithHTMLData:htmlData];

4. 根据xpath路径表达式解析节点并返回一个数组
NSArray *aArray = [xpathParser searchWithXPathQuery:@“//h3//a”]; // 取出h3下面 a 标签中的内容  数组中是一个TFHppleElement对象  与XPath文档上不一样,一定要有两个斜杠不然不会找到

使用如下
    for (TFHppleElement *httpEle in aArray) {        NSLog(@"content is %@",httpEle.content);       // httpEle.content; 标签中的内容       // httpEle.tagName; 标签名称       // httpEle.attributes; 标签所有的属性,一些在标签内部不为子标签的一些       // httpEle.children; 子元素 是一个数组也是TFHppleElement对象            }

其他类型解析可依次处理,分清楚父节点与子节点的关系即可。

XPath学习:http://www.w3school.com.cn/xpath/xpath_examples.asp

0 0
原创粉丝点击