Como limitar o xml parsing em iPhone
-
19-09-2019 - |
Pergunta
Eu sou novo para o desenvolvimento iphone .Eu quero analisar um URL da imagem de um arquivo xml e exibi-lo em um RSS feed.There são três imagem url, mas eu quero recuperar apenas uma url e exibi-lo.
<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>
para analisá-lo
- (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"]];
}
}.
Eu quero recuperar apenas ajuda tigre image.Please me out.Thanks.
Solução
Neste caso perticular você pode definir uma variável de classe em vez do myUrl atual e depois de obter um valor na mesma. No código abaixo isso pressupõe que você nunca inicializar myURL em qualquer outro lugar.
if (myURL == nil)
myUrl = [attributeDict objectForKey:@"url"];
No entanto, isto só irá funcionar da maneira esperada, se você quer sempre o primeiro URL miniatura. A menos que tenha alguma garantia (que você não mencionou) que você sempre vai querer o primeiro URL, então não há realmente qualquer coisa que você pode fazer para casos de captura quando você não quer que o primeiro URL uma vez que todas as tags URLs em miniatura e atributos são os mesmos, exceto pela URL.