Frage

Ich bin neu auf iPhone Entwicklung will .I eine Bild-URL aus einer XML-Datei analysieren und zeigt sie in einem RSS feed.There sind drei Bild-URL, aber ich möchte nur eine URL abrufen und anzeigen.

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

für das Parsen es

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

}.

Ich will nur Tiger abrufen und Papagei image.But i Tiger bekommen twice.Please mir helfen out.Thanks.

War es hilfreich?

Lösung

Wenn Sie beginnen Ihre entry Element zurückgesetzt myUrl Variable auf Null Parsen - so werden Sie „Medien: Thumbnail“ parsen einmal für jeden ‚Eintrag‘ Element

Andere Tipps

Halten Sie einfach eine Flagge in Ihrem Parser delegieren, dass Sie zurück, wenn Sie <media:group> sehen. Dann sehen jedes Mal, wenn ein <media:thumbnail> Sie erhalten. Dann sind Sie jedes Mal, wenn Sie eine <media:thumbnail> erhalten, wenn das Flag gesetzt worden ist. Wenn nicht, dann ist dies die erste, so dass Sie die Daten übernehmen und das Flag gesetzt. Wenn Sie das nächste <media:thumbnail> sehen ignorieren Sie es, weil das Flag gesetzt worden ist.

In Ihrem Fall ist myUrl die Flagge. So einfach zurückgesetzt es jede Bindung, die Sie die <media:group> sehen null.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top