2011-11-23 50 views
0

所以我有一个XML文件,我使用NSXMLParser与它一起工作。而所需要的元素是使用XMLParser检索属性时发生崩溃

<media:thumbnail url='https://photourl.jpg' height='160' width='160'/> 

我需要找回我尝试这样的网址:

-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict { 
    if ([elementName isEqualToString:@"media:thumbnail"]){   
     NSString *string = [[attributeDict objectForKey:@"url"] stringValue]; 
    } 

但我收到SIGABRT。谁能帮我?

+0

能否打印,当您到达这条线“的NSString *字符串= [[你的“attributeDict”载attributeDict objectForKey:@“url”] stringValue];“ ?你能把它展示给我吗? – Deeps

回答

3

记住从attributeDict返回的值不会被保留,所以如果你想在当前范围外使用它,你将需要保留它。

你是否考虑过如果url属性不存在 - 在这种情况下[attributeDict objectForKey:@“url”]将返回nil。

而且,你可能不希望使用stringValue的,只是强制转换这样的属性:

NSString *string = (NSString*)[attributeDict objectForKey:@"url"]; 
+0

谢谢!这工作完美) – Noobass