0

私は次のコードを持っています:

-(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"];

どんな助けでも大歓迎です。

4

1 に答える 1

1

user170317はあなたに答えの相手を与えました、TFHppleクラスはあなたがダウンロードしたバージョンとあなたが使用している例の間で変更されました(しかしあなたはダウンロードでうまくいく例を見つけるでしょう、ちょっと)

これは、「search」メソッドが「searchWithXPathQuery」になっているためです。これに変更すると、機能します。実行後にnullが発生した場合は、適切な子ノードをターゲットにしていないためですが、それは別の質問です。

于 2011-10-11T13:17:40.127 に答える