2010-02-08 78 views
0

我是iphone开发新手,我想从一个xml文件解析一个图片url并将它显示在一个RSS feed中。有三个图片url,但我只想要检索一个url,显示它。如何限制iphone中的xml解析

<entry> 
<id>xxxxx</id> 
<title>xxx xxxx xxxx</title> 
<content>xxxxxxxxxxx</content> 
<media:group> 
<media:thumbnail url="http://tiger.jpg"/> 
<media:thumbnail url="http://lion.jpg"/> 
<media:thumbnail url="http://elephan.jpg"/> 
</media:group> 
</entry> 

用于解析它

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{    
currentElement = [elementName copy]; 
if ([elementName isEqualToString:@"entry"]) { 
    entry = [[NSMutableDictionary alloc] init]; 
    currentTitle = [[NSMutableString alloc] init]; 
    currentDate = [[NSMutableString alloc] init]; 
    NSLog(@"inside image1 "); 
}else if([elementName isEqualToString:@"media:thumbnail"]) 
    { 
     NSString* myUrl = [NSString stringWithString:[attributeDict objectForKey:@"url"]]; 

} 

}. 

我只想检索虎image.Please帮我out.Thanks。

回答

1

在这个相关的实例中,你可以设置一个类变量而不是当前的本地myUrl,并且一旦你得到一个值。在下面的代码中,假定你永远不会在其他地方初始化myURL。

if (myURL == nil) 
    myUrl = [attributeDict objectForKey:@"url"]; 

但是,如果您始终需要第一个缩略图URL,则这只会按照您的预期方式工作。除非你有一些保证(你没有提到),你总是会想要第一个网址,那么当你不需要第一个网址时,你可以做任何事情来避免这种情况,因为所有的缩略图网址标签和URL的属性是相同的。