Question

Je suis nouveau au développement iphone .Je souhaite analyser une URL d'image à partir d'un fichier xml et l'afficher dans un flux feed.There sont trois URL de l'image, mais je veux récupérer une seule URL et l'afficher.

<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>
<entry>
<id>xxxxx</id>
<title>xxx xxxx xxxx</title>
<content>xxxxxxxxxxx</content>
<media:group>
<media:thumbnail url="http://parrot.jpg"/>
<media:thumbnail url="http://peacock.jpg"/>
<media:thumbnail url="http://sparrow.jpg"/>
</media:group>
</entry>

pour l'analyser

- (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"])
{
if(myUrl==nil){
    NSString* myUrl = [NSString stringWithString:[attributeDict objectForKey:@"url"]];
}
}   

}.

Je veux récupérer uniquement le tigre et le perroquet image.But je reçois tigre twice.Please aide-moi out.Thanks.

Était-ce utile?

La solution

Lorsque vous démarrez votre analyse élément entry reset variable de myUrl à zéro - donc vous analyser « les médias: miniature » une fois pour chaque élément « entrée »

Autres conseils

Il suffit de garder un drapeau dans votre délégué de l'analyseur que vous remis à zéro lorsque vous voyez <media:group>. Ensuite, chaque fois que vous voyez un <media:thumbnail> que vous obtenez. Ensuite, chaque fois que vous obtenez un <media:thumbnail>, vérifier si le drapeau a été fixé. Sinon, c'est le premier, vous prenez les données et définissez l'indicateur. Quand vous voyez la prochaine <media:thumbnail> vous l'ignorer parce que le drapeau a été défini.

Dans votre cas, myUrl est le drapeau. Donc, il suffit de réinitialiser à zéro tous vous ligoter voir le <media:group>.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top