2011-10-09 51 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',將它改爲這個,它就可以工作。如果在運行後得到空值,這是因爲您沒有針對正確的子節點,但那是另一個問題