2011-10-09 43 views
0

我有以下代码:iPhone SDK:hpple HTML解析器SIGABRT

-(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"]; 

任何帮助是非常赞赏。

+0

使NSZombieEnabled知道更多关于错误的信息。 –

+0

这是我得到的语义问题:实例方法'搜索:'找不到(返回类型默认为'id') – EI756

+1

in u TFHpple类您没有搜索:方法。请检查那里 – user170317

回答

1

user170317给你答案的伴侣,在TFHpple类,你下载的版本和您所使用的例子之间改变(但你会发现在不工作的下载为例,还挺)

原因这就是'search'方法现在是'searchWithXPathQuery',将它改为这个,它就可以工作。如果在运行后得到空值,这是因为您没有针对正确的子节点,但那是另一个问题