3

私はobjective-cは初めてですが、通常のCは得意で、iPhoneの開発を検討しています。//table[@class='grid']/tbody/tr[4]/td[16]現在、学校の評価システムのすべてのノードは nil です。Firefox のxPath チェッカー プラグインで正しく表示されるため、正しい xPath にあることがわかります。Web ページから受け取った NSData が正しいことは、NSlog で記録したのでわかっています。しかし、何らかの理由で、まだ 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;
}
4

1 に答える 1

1

tbodyXPath クエリから削除してみてください。つまり、次のようにします//table[@class='grid']/tr[4]/td[16]。Hpple でも同様の問題があり、すべてを削除する必要がありましたtbody

于 2015-02-11T18:59:12.067 に答える