iPhone SDK:hpple html解析器SIGABRT

时间:2011-10-09 10:54:21

标签: iphone hpple

我有以下代码:

-(void)getHTMLData {
    NSData *data = [[NSData alloc] initWithContentsOfFile:@"example.html"];
    TFHpple *xpathParser = [[TFHpple alloc] initWithHTMLData:data];

    //Get all the cells of the 2nd row of the 3rd table 
    NSArray *elements  = [xpathParser search:@"//table[3]/tr[2]/td"]; // "//a" -- all a tags

    TFHppleElement *element = [elements objectAtIndex:0];
    NSString *content = [element content];  
    [xpathParser release];
    [data release];

    NSLog(@"tagName:%@", content);

}

但无论何时运行,它都会在SIGABRT错误的行上停止:

NSArray *elements  = [xpathParser search:@"//table[3]/tr[2]/td"];

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

user170317为您提供了答案配对,TFHpple类在您下载的版本和您正在使用的示例之间进行了更改(但是您会在下载中找到一个可行的示例,有点)

原因是“搜索”方法现在是'searchWithXPathQuery',将其更改为它并且它将起作用。如果你在运行之后得到null,那是因为你没有定位正确的子节点,但那是另一个问题