1 votes

Gestion des balises RSS avec NSXMLParser pour iPhone

J'ai trouvé le code suivant pour analyser les flux RSS, mais il ne semble pas tenir compte des éléments imbriqués :

- (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 à utiliser est :

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

Je dois extraire l'élément "url" de la balise "media".

Merci Martin

5voto

August Points 9726

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

parser:didStartElement:namespaceURI:qualifiedName:attributes:

0voto

newgenapps_dev Points 23557

Comme August l'a souligné, vous devrez utiliser didStartElement pour accéder aux attributs d'une balise. Les attributs sont renvoyés sous forme de dictionnaire avec les noms d'attributs comme clés et les valeurs d'attributs comme valeurs.

0voto

Michael Waterfall Points 10490

Je viens de publier un logiciel libre Analyseur RSS/Atom pour iPhone et j'espère que ça pourra vous être utile.

J'aimerais aussi savoir ce que vous en pensez !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X