如何从xml获取图像? [英] how can get image from xml?

查看:89
本文介绍了如何从xml获取图像?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是iPhone的新手开发人员. 我正在研究简单的xml解析演示. 我想要如何获取遵循xml代码的图像???

I am a Fresher Developer in iPhone . i am working on simple xml parse demo. I want just how can i get the image that following xml code ???

<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>  

我如何获取图像?

我已经使用以下代码获取标题或说明.

i already get title or description using following code.

- (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;

}

先谢谢了.

推荐答案

您可以将.h文件中的imageLink声明为NSString.

You can declare imageLink in .h file as NSString.

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

使用上述代码,您可以获取图像的网址,然后使用以下代码显示图像.

Using above code you can get image url and then use following code to display image.

NSData* imageData = [NSData dataWithContentsOfURL:[NSURL urlWithString:imageLink]];
UIImage* image = [UIImage imageWithData:imageData];

这篇关于如何从xml获取图像?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆