iOS Parse RSS Feed,获取图像链接字符串

时间:2013-11-28 07:41:23

标签: ios objective-c nsstring rss nsxmlparser

我正在使用NSXMLParser来解析测试项目中的RSS提要。 Feed没有任何图片链接,但在说明标签下我找到了img标签,如下所示:

<img src="//t0.gstatic.com/images?q=tbn:ANd9GcRAWptM4WssgVQnzjto-Xys9x1sDZO8a34056rEG3gI1AhG30zOgEz-N-_hGpX-87WRIEqZidg" alt="" border="1" width="80" height="80" /><br /><font size="-2">San Francisco Chronicle</font></a></font></td><td valign="top" class="j"><font style="font-size:85%;font-family:arial,sans-serif"><br /><div style="padding-top:0.8em;"><img alt="" height="1" width="1" />

我需要做的是检索图像链接。我在SO上找到了一个方法,如下:

-(NSString *)getFirstImageUrl: (NSString *) html {

    NSScanner *theScanner;
    NSString *imageURL = nil;

    theScanner = [NSScanner scannerWithString: html];

    // find start of tag
    [theScanner scanUpToString: @"<img" intoString: NULL];
    if ([theScanner isAtEnd] == NO) {

        [theScanner scanUpToString: @"src=\"" intoString: NULL];
        NSInteger newLoc2 = [theScanner scanLocation] + 5;
        [theScanner setScanLocation: newLoc2];

        // find end of tag
        [theScanner scanUpToString: @"\"" intoString: &imageURL];
    }

    return imageURL;
}

所以我尝试使用上述方法:

NSString *imageURLString;
    if (newImageString) {
        imageURLString = [self getFirstImageUrl:newImageString];
        NSLog(@"IMAGE URL STRING %@", imageURLString);
    }

但项目崩溃时出现以下错误:

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSConcreteScanner setScanLocation:]: Index 2332 out of bounds; string length 2327'

任何人都可以帮我指出它有什么问题吗?我怎样才能获得图片网址字符串?谢谢!

0 个答案:

没有答案