来源:自学PHP网 时间:2015-04-14 14:51 作者: 阅读:次
[导读] 1第三方API TFHpple包的下载地址:点击打开链接3 使用TFHpple的步骤。1)导入类文件: import TFHpple h2)包装URL获取data数据 NSString *urlString = @http: www weiphone com apple news...
1第三方API TFHpple包的下载地址:点击打开链接 3.使用TFHpple的步骤。 1)导入类文件:#import TFHpple.h 2)包装URL获取data数据
NSString *urlString = @http://www.weiphone.com/apple/news/index_1.shtml; NSData *htmlData = [[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:urlString]]; 如果网页不是UTF8 编码,可能无法识别。我们需要进行转换。我们需要看清我们需要转换的源代码的头格式。
// NSData *toHtmlData = [self toUTF8:htmlData]; - (NSData *) toUTF8:(NSData *)sourceData { CFStringRef gbkStr = CFStringCreateWithBytes(NULL, [sourceData bytes], [sourceData length], kCFStringEncodingGB_18030_2000, false); if (gbkStr == NULL) { return nil; } else { NSString *gbkString = (NSString *)gbkStr; NSString *utf8_string = [gbkString stringByReplacingOccurrencesOfString:@META http-equiv=X-UA-Compatible content=IE=EmulateIE7 withString:@META http-equiv=Content-Type content= ext/html; charset=UTF-8]; return [utf8_string dataUsingEncoding:NSUTF8StringEncoding]; } 3)把Data文件转化成 TFHpple对象
TFHpple *xpathparser = [[TFHpple alloc]initWithHTMLData:htmlData];4)书写相应的语法规则进行转换,得到对应的数组
NSArray *array1 = [xpathparser searchWithXPathQuery:@//div[@id='news']//div//div[2]//h3//a[1]]; NSLog(@%@,[array1 objectAtIndex:0]); 4.关于Xpath的学习语法。
XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。 XML 实例文档我们将在下面的例子中使用这个 XML 文档。
选取节点XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。 下面列出了最有用的路径表达式:
实例在下面的表格中,我们已列出了一些路径表达式以及表达式的结果:
谓语(Predicates)谓语用来查找某个特定的节点或者包含某个指定的值的节点。 谓语被嵌在方括号中。 实例在下面的表格中,我们列出了带有谓语的一些路径表达式,以及表达式的结果:
选取未知节点XPath 通配符可用来选取未知的 XML 元素。
实例在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:
选取若干路径通过在路径表达式中使用“|”运算符,您可以选取若干个路径。 实例在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com