我是iPhone的新手开发者.我正在进行简单的xml解析演示.我想如何获得xml代码后面的图像???
<item>
<title>Rain washes out England qualifier</title>
<description>England's World Cup qualifier against Poland is postponed because of a waterlogged pitch and is rescheduled for 16:00 BST on Wednesday.</description>
<link>http://www.bbc.co.uk/sport/0/football/19941036</link>
<guid isPermaLink="false">http://www.bbc.co.uk/sport/0/football/19941036</guid>
<pubDate>Tue, 16 Oct 2012 21:18:26 GMT</pubDate>
<media:thumbnail width="66" height="49" url="http://news.bbcimg.co.uk/media/images/63530000/jpg/_63530879_016250328-1.jpg"/>
<media:thumbnail width="144" height="81" url="http://news.bbcimg.co.uk/media/images/63529000/jpg/_63529179_016250328-1.jpg"/>
</item>
Run Code Online (Sandbox Code Playgroud)
我怎么能得到图像?
我已经使用以下代码获得标题或描述.
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if([elementName isEqualToString:className])
{
[items addObject:item];
[item release];
item = nil;
}
else
{
if([currentNodeContent length] != 0)
{
if([className isEqualToString:@"item"])
{
if([elementName isEqualToString:@"title"]|| [elementName isEqualToString:@"description"] || [elementName isEqualToString:@"url"])
{
[item setValue:currentNodeContent forKey:currentNodeName];
if ([elementName isEqualToString:@"media:thumbnail"])
{
[item setValue:currentNodeContent forKey:@"url"];
}
}
else
{
}
}
}
else
{
}
}
[currentNodeContent release];
currentNodeContent = nil;
[currentNodeName release];
currentNodeName = nil;
}
Run Code Online (Sandbox Code Playgroud)
提前致谢.
您的 xml 在服务器上只有图像的 url,因此在解析时将此 url 保存在字符串中。当您需要在屏幕上显示图像时,使用以下命令从 url 获取图像
NSData* imageData = [NSData dataWithContentsOfURL:[NSURL urlWithString:your_url]];
UIImage* image = [UIImage imageWithData:imageData];
Run Code Online (Sandbox Code Playgroud)
要异步加载图像,Git Hub 上有很多可用的示例,请使用 asyncImage,它会缓存最近下载的图像。
| 归档时间: |
|
| 查看次数: |
687 次 |
| 最近记录: |