我正在使用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'
任何人都可以帮我指出它有什么问题吗?我怎样才能获得图片网址字符串?谢谢!