如何解析多个xml数据?

时间:2013-11-18 16:31:45

标签: objective-c xml xml-parsing nsxmlparser

我能够从iTunes获得前十大免费应用程序,但是当我尝试获取图像时,我遇到了一个问题,我得到了3张图片。

source link

这是拉取字符串的代码:

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

    if ([element isEqualToString:@"im:name"]){   
        [title appendString:string];


    }else if ([element isEqualToString:@"im:image"]) {   
        [image appendString:string];
    }

}

因为它有3个图像尺寸,所以它们全部拉出来:

<im:image height="53">  
<im:image height="75">  
<im:image height="100">

如果我尝试放置我想要的图像尺寸,它就不起作用。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

使用此回调

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

并且只要元素名称为im:image,就抓住attributeDict来获取属性。

如果要存储所有高度,则必须创建一个数组或类似的东西,但回调就是你要做的事情。所以像这样:

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

      if([elementName isEqualToString:@"im:image"])
           [heightArray addObject:[attributeDict objectForKey:@"height"]];
}