如何在目标c中解析HTML响应

时间:2013-10-17 12:02:10

标签: objective-c html-parsing

我是iPhone开发的新手,我有一个URL,它在HTML中提供响应。我的要求是在响应中获取所有Paragraph标记。但我正在使用TFHpple库并获取特定的xPath数据。但我需要所有< p>标记响应中的数据。如果有人知道请帮助我。提前谢谢..

2 个答案:

答案 0 :(得分:0)

用于解析HTML的libxml的目标c包装器 Objective-C-HMTL-Parser

Hpple:XPathQuery库上一个很好的Objective-C包装器,用于解析HTML。 Hpple

上面是简单易用的库,用于html解析和良好的文档。

此链接中的教程http://www.raywenderlich.com/14172/how-to-parse-html-on-ios

希望它有所帮助...

答案 1 :(得分:0)

因为有时para标签有跨度,有时它没有,我建议尝试通过循环遍历孩子来处理它

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
NSData  * data      = [NSData dataWithContentsOfFile:filePath];
TFHpple * tutorialsParser       = [[TFHpple alloc] initWithHTMLData:data];

NSString *tutorialsXpathQueryString = @"//div[@id='NewsPageSubTitle']";
NSArray *tutorialsNodes = [tutorialsParser searchWithXPathQuery:tutorialsXpathQueryString];

for (TFHppleElement * element in tutorialsNodes) {
    NSLog(@"%@", element);
    NSLog(@"%@", [element tagName]);
    NSLog(@"%@", [element attributes]);
    NSLog(@"%@", [element children]);
    for (TFHppleElement *childElement in [element children]) {
            NSLog(@"%@", childElement);
    }
}