2009-01-22 8 views
1

j'ai trouvé le code suivant pour l'analyse par RSS mais il ne semble pas permettre à des éléments imbriqués:Handling RSS Tags avec NSXMLParser pour iPhone

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{  
    NSLog(@"ended element: %@", elementName); 
    if ([elementName isEqualToString:@"item"]) { 
     // save values to an item, then store that item into the array... 
     [item setObject:currentTitle forKey:@"title"]; 
     [item setObject:currentLink forKey:@"link"]; 
     [item setObject:currentSummary forKey:@"summary"]; 
     [item setObject:currentDate forKey:@"date"]; 
     [item setObject:currentImage forKey:@"media:thumbnail"]; 

Le RSS est utilisé à:

<item><title>Knife robberies and burglaries up</title> 
<description>The number of robberies carried out at knife-point has increased sharply and burglaries are also up, latest crime figures indicate</description> 
<link>http://news.bbc.co.uk/go/rss/-/1/hi/uk/7844455.stm</link> 
<guid isPermaLink="false">http://news.bbc.co.uk/1/hi/uk/7844455.stm</guid> 
<pubDate>Thu, 22 Jan 2009 13:02:03 GMT</pubDate><category>UK</category> 
<media:thumbnail width="66" height="49" url="http://newsimg.bbc.co.uk/media/images/45400000/jpg/_45400861_policegeneric_pa.jpg"/> 
</item> 

J'ai besoin d'extraire l'élément "url" de la balise "media".

Merci Martin

Répondre

5

Vous devez obtenir les attributs (y compris l'URL) lorsque l'élément commence:

parser:didStartElement:namespaceURI:qualifiedName:attributes: 
0

Comme indiqué Août, vous devrez utiliser didStartElement pour accéder aux attributs d'une étiquette. Les attributs sont renvoyés en tant que dictionnaire avec les noms d'attribut en tant que clés et les valeurs d'attribut en tant que valeurs.

0

Je viens de publier un code source ouvert RSS/Atom Parser for iPhone et j'espère que cela pourrait être utile.

Je serais ravi d'entendre vos pensées à ce sujet aussi!