0

hppleを使用して以下のリンクを解析しようとしています:

http://www.decanter.com/news/wine-news/529748/mimimum-pricing-opponents-slam-cameron-speech

コード:

- (void)parseURL:(NSURL *)url {
    NSData *htmlData = [NSData dataWithContentsOfURL:url];    
    TFHpple *xpathParser = [[TFHpple alloc] initWithHTMLData:htmlData];
    NSArray *elements  = [xpathParser searchWithXPathQuery:@"<div class=\"body\" id=\"article-529748-body\">"];
    NSLog(@"elements %@",elements);
    TFHppleElement *element = [elements objectAtIndex:0];
    NSString *myTitle = [element content];
    [xpathParser release];
}

しかし、それはクラッシュしています。クラッシュレポート:

XPath error : Invalid expression
<div class="body" id="article-529748-body">
^
XPath error : Invalid expression
<div class="body" id="article-529748-body">
^

この問題を解決するには?要素配列が空なのはなぜですか? 間違った方法で解析していますか? そのdivタグで利用可能な情報を取得したい。

4

3 に答える 3

0

要素配列が空でないことを確認してください

- (void)parseURL:(NSURL *)url {
NSData *htmlData = [NSData dataWithContentsOfURL:url];    
TFHpple *xpathParser = [[TFHpple alloc] initWithHTMLData:htmlData];
NSArray *elements  = [xpathParser searchWithXPathQuery:@"<div class=\"body\" id=\"article-529748-body\">"];
NSLog(@"elements %@",elements);
if([elements count]){
    TFHppleElement *element = [elements objectAtIndex:0];
}
NSString *myTitle = [element content];
[xpathParser release];
}
于 2012-02-18T06:22:05.720 に答える