2010-04-16 6 views
1

Je travaille sur un lecteur RSS simple. Ce lecteur charge les données d'Internet via ce code:nsxmlparser d'iphone analyse RSS provoque des problèmes d'encodage

NSXMLParser *rss = [[NSXMLParser alloc] initWithURL:[NSURL URLWithString:@"http://twitter.com/statuses/user_timeline/50405236.rss"]]; 

Mon problème est lié à l'encodage. Le fichier RSS 2.0 est censé être encodé en UTF8 selon l'attribut d'encodage du fichier XML.

<?xml version="1.0" encoding="utf-8"?> 

Alors, quand je télécharger des URL de contenu que je reçois le texte tronqué après la première occurence de charbon avec diacritiques, par exemple: Ls cT ZY á é í, etc.

J'ai essayé de résoudre le problème en téléchargeant l'URL en tant que chaîne UTF8, j'ai utilisé ce code:

NSString *rssXmlString = [NSString stringWithContentsOfURL: [NSURL URLWithString: @"http://www.macblog.sk/rss.xml"] encoding:NSUTF8StringEncoding error: nil]; 
NSData *rssXmlData = [rssXmlString dataUsingEncoding: NSUTF8StringEncoding]; 

N'a pas aidé. Merci pour vos réponses.

+0

J'ai donc résolu ce problème moi-même. Donc le problème était dans cette méthode parser: foundCharacters:, j'ai dû lire la documentation plus en détail: L'objet analyseur peut envoyer au délégué plusieurs parser: foundCharacters: messages pour signaler les caractères d'un élément. Comme la chaîne peut ne représenter qu'une partie du contenu total des caractères de l'élément en cours, vous devez l'ajouter à l'accumulation de caractères actuelle jusqu'à ce que l'élément change. –

Répondre

0

Jetez un coup d'œil à MWFeedParser on GitHub, c'est un analyseur de flux RSS/Atom open source que j'ai publié et qui facilite grandement la lecture et l'analyse des flux Web.

Il existe également une application de démonstration simple qui montre à quel point il est facile à implémenter.

Espérons que cela pourrait être utile!

+0

Salut Michael merci pour le bon conseil. Mais maintenant, j'utilise le framework Three20 et il y a la construction dans l'analyseur. –

Questions connexes