2013-03-03 66 views
0

我有来自其他站点的rss页面。如何从XML页面解析图像

<item> 
     <title>Запорожье: Вечер 03 Mar, Sun</title> 
     <link>http://www.gismeteo.ru/city/daily/5093/?462419</link> 
     <description>Облачно, температура 1..3 С, давление 753..755 мм рт.ст., ветер Юго-Западный, 6 м/с</description> 
     <category>Погода</category> 
     <enclosure url="http://img.gismeteo.ru/images/icons/new/d.sun.c2.png" length="2000" type="image/gif" /> 
     <source url="http://informer.gismeteo.ru/rss/34601.xml">GISMETEO.RU: Погода в г. Запорожье</source> 
     <guid>418461</guid> 
    </item> 

这是我的代码

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

{

if([elementName isEqualToString:@"title"]){ 
    xmlStringFileObject.titleString = nodecontent; 
} 
else if([elementName isEqualToString:@"description"]){ 
    xmlStringFileObject.descriptionString = nodecontent; 
} 
else if([elementName isEqualToString:@"category"]) 
{ 
    self.xmlStringFileObject.categoryString = nodecontent; 
} 



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

    [outputData addObject:xmlStringFileObject]; 

} 

nodecontent=[[NSMutableString alloc]init]; 

}

它的工作原理很好,但我不能解析图像,并加载他的UIImageView 我需要解析图像从这 <enclosure url="http://img.gismeteo.ru/images/icons/new/d.sun.c2.png" length="2000" type="image/gif" />。请帮帮我。

回答

0

看看我是怎么做的

NSString* imageURL = urlString; //http://img.gismeteo.ru/images/icons/new/d.sun.c2.png 
    NSData *imageData = [[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:imageURL]]; 
    UIImage *img = [[UIImage alloc] initWithData:imageData];Or you do not know how to get url string from xml? 

    UIImageView *imageView = [[UIImageView alloc] initWithImage:img]; 

或者你不知道如何从XML获取URL字符串?

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict { 
    if([elementName isEqualToString:@"source"]) 
    NSString *urlString = [attributeDict objectForKey:@"url"]; 
} 
+0

我现在不如何从XML获取URL字符串这样<机箱URL = “http://img.gismeteo.ru/images/icons/new/d.sun.c2.png” 长度=” 2000“type =”image/gif“/> – user2128989 2013-03-03 15:51:14

+0

我给你看了。用外壳替换源,仍然有这个问题?写更多的代码? – 2013-03-03 17:59:03

+0

谢谢。所有作品都很好。 – user2128989 2013-03-06 12:11:06