【问题标题】:Hpple-All Nodes was nilHpple-All Nodes 为 nil
【发布时间】:2013-03-17 03:17:30
【问题描述】:

我对 Objective-c 很陌生,但对常规 C 很熟悉,我正在研究 iPhone 开发。现在我在学校评分系统中的所有节点都是 nil 我知道它们在正确的 xPath 中,因为 //table[@class='grid']/tbody/tr[4]/td[16] 在 Firefox xPath 检查器插件中正确显示。我知道我从网页收到的 NSData 是正确的,因为我对它进行了 NSlogged。但由于某种原因,我仍然以 nil Nodes 告终。

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;
}

【问题讨论】:

    标签: iphone objective-c c hpple


    【解决方案1】:

    尝试从 XPath 查询中删除 tbody。即,让它看起来像//table[@class='grid']/tr[4]/td[16]。我对 Hpple 也有类似的问题,我不得不删除所有 tbody's。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-27
      • 2013-04-18
      • 1970-01-01
      • 2019-06-14
      相关资源
      最近更新 更多