2013-11-18 1 views
0

Я смог получить 10 лучших бесплатных приложений из iTunes, но у меня есть одна проблема, когда я пытаюсь получить изображение. Я получаю 3 изображения.как разобрать несколько xml данных?

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

если я пытаюсь поставить размер изображения, который я хочу, он не работает.

Что мне делать?

ответ

0

Используйте этот обратный вызов

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

и захватить attributeDict, чтобы получить атрибут всякий раз, когда имя элемента является im:image.

Вам нужно будет создать массив или что-то подобное, если вы хотите сохранить все высоты, но этот обратный вызов - это то место, где вы это сделаете. Так что-то вроде этого:

-(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"]]; 
}