2013-10-24 44 views
0

我做一个测试,我建立一个新闻提要iOS应用的缩略图要素,使用RSS提要像这样的:http://www.20minutos.es/iphoneapp/feeds/home/无法找到RSS提要

我几乎已经完成,但我找不到缩略图的链接。我做这样的分析,我可以找到一些外壳,enclosure2x,缩略图,thumbnail2x,但他们都空字符串:

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict { 

    element = elementName; 

    if ([element isEqualToString:@"item"]) { 

     item = [[NSMutableDictionary alloc] init]; 
     title = [[NSMutableString alloc] init]; 
     link = [[NSMutableString alloc] init]; 
     image = [[NSMutableString alloc] init]; 
     image2x = [[NSMutableString alloc] init]; 
     comments = [[NSMutableString alloc] init]; 
    } 

} 

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName { 

    if ([elementName isEqualToString:@"item"]) { 

     [item setObject:title forKey:@"title"]; 
     [item setObject:link forKey:@"link"]; 
     [item setObject:image forKey:@"image"]; 
     [item setObject:image2x forKey:@"image2x"]; 
     [item setObject:comments forKey:@"comments"]; 
     [feeds addObject:[item copy]]; 

    } 

} 

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { 

    if ([element isEqualToString:@"title"]) { 
     [title appendString:string]; 
    } else if ([element isEqualToString:@"link"]) { 
     [link appendString:string]; 
    } else if ([element isEqualToString:@"veinteminutos:numComments"]) { 
     [comments appendString:[string stringByReplacingOccurrencesOfString:@" " withString:@""]]; 
    } 
    //NSLog(@"string: %@ \nelement: %@ \n\n\n", string, element); 

} 

这是我第一次解析RSS提要,所以我真的不知道在那里寻找什么。

感谢

回答

1

你应该分析出media:thumbnailmedia:thumbnail2x节点在parser:didStartElement:namespaceURI:qualifiedName:attributes:委托方法,并从attributeDict字典中提取缩略图URL:

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict { 
    element = elementName; 

    if ([element isEqualToString:@"item"]) { 
     item = [[NSMutableDictionary alloc] init]; 
     title = [[NSMutableString alloc] init]; 
     link = [[NSMutableString alloc] init]; 
     image = [[NSMutableString alloc] init]; 
     image2x = [[NSMutableString alloc] init]; 
     comments = [[NSMutableString alloc] init]; 
    } else if ([element isEqualToString:@"media:thumbnail"]) { 
     image = [attributeDict objectForKey:@"url"]; 
    } else if ([element isEqualToString:@"media:thumbnail2x"]) { 
     image2x = [attributeDict objectForKey:@"url"]; 
    } 
} 

可以为机箱做同样的,应你需要他们。

+0

这很好,解决了我的问题。谢谢 – kanstraktar