我有以下代码:
-(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 :(得分:1)
user170317为您提供了答案配对,TFHpple类在您下载的版本和您正在使用的示例之间进行了更改(但是您会在下载中找到一个可行的示例,有点)
原因是“搜索”方法现在是'searchWithXPathQuery',将其更改为它并且它将起作用。如果你在运行之后得到null,那是因为你没有定位正确的子节点,但那是另一个问题