我是objective-c的新手,但对普通的C很在行,我正在研究iPhone的开发。现在,我在学校评分系统中的所有节点都是空的,我知道它们在正确的xPath上,因为//table[@class='grid']/tbody/tr[4]/td[16]在火狐xPath检查器插件中显示正确。我知道我从网页收到的NSData是正确的,因为我NSlogged它。但是,由于某些原因,我仍然以nil节点结束。
Course2 *fillCourse(int row){
NSURL *CUrl = [NSURL URLWithString:@"MY SCHOOL SITE HERE"];
NSData *CHtmlData = [NSData dataWithContentsOfURL:CUrl];
TFHpple *StuffParser = [TFHpple hppleWithHTMLData:CHtmlData];
NSString *XpathQ = @"//table[@class='grid']/tbody/tr[5]/td[16]/a";
NSArray *tutorialsNodes = [StuffParser searchWithXPathQuery:XpathQ];
/*
for(TFHppleElement *string in tutorialsNodes){
NSLog(@"%@",[element content]);
}
*/
NSString *XpathQ2 = @"//table[@class='grid']/tbody/tr[5]/td[16]/a";
NSArray *tutorialsNodes2 = [StuffParser searchWithXPathQuery:XpathQ2];
Course2 *COUR = [[Course2 alloc] init];
// NSMutableArray *newTutorials = [[NSMutableArray alloc] initWithCapacity:0];
for (TFHppleElement *element in tutorialsNodes) {
COUR.grade = [element content];
COUR.teacherPage = [NSURL URLWithString:[element objectForKey:@"href"]];
}
for (TFHppleElement *element2 in tutorialsNodes2) {
COUR.Class = [[element2 firstChild] content];
}
return COUR;
}发布于 2015-02-12 02:59:12
尝试从XPath查询中删除tbody。也就是说,让它看起来像//table[@class='grid']/tr[4]/td[16]。我在Hpple上也遇到了类似的问题,我不得不移除所有的tbody。
https://stackoverflow.com/questions/15652126
复制相似问题