2010-01-08 7 views
0

Je suis un xml d'analyse syntaxique une url, parComment se connecter nsxmlparser

rssParser = [[NSXMLParser alloc] initWithContentsOfURL:xmlURL]; 
[rssParser parse] 

Comment il NSLog pour voir le xml dans la console ??? Si j'utilise

NSLog ("%@",rssParser); 

je suis montré wit « XMLParser x 4d562 » dans la console

Répondre

1

Vous ne pouvez pas. La classe NSXMLParser ne charge jamais tout le contenu du flux XML en mémoire (c'est pourquoi il s'agit d'un "NSXMLParser" et non d'un "NSXMLDocument"). Vous devez télécharger les données à partir de l'URL, et l'utiliser pour instancier votre analyseur de flux RSS, et aussi de créer un NSString que vous n'êtes pas connecté à la place:

NSData *data = [NSData dataWithContentsOfURL:xmlURL]; 
rssParser = [[NSXMLParser alloc] initWithData:data]; 
NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
NSLog(@"data: %@", string); 
[string release]; 

S'il vous plaît prêter attention au fait que la « initWithContentsOfURL: » méthodes synchrone, et bloquera votre thread d'interface utilisateur jusqu'à ce que les données ont été téléchargées. Vous pouvez utiliser à la place ASIHTTPRequest ou le mécanisme NSURLConnection avec des connexions asynchrones.

2

Vous devez définir délégué analyseur et processus récupéré les données XML dans ses méthodes. Voir référence de protocole NSXMLParserDelegate.