J'essaie d'analyser un débordement de pile flux RSS d'une question spécifique: https://stackoverflow.com/feeds/question/2110875SO Parsing flux RSS en utilisant TouchXML, aucun tag trouvé <entry>
Pour cela, je suis en utilisant la bibliothèque TouchXML. Il semble y avoir un problème dans le code suivant:
CXMLDocument *parser = [[CXMLDocument alloc] initWithData:sourceData options:0 error:nil];
NSArray *allEntries = [parser nodesForXPath:@"//entry" error:nil];
NSLog(@"Found entries: %d",[allEntries count]); //Returns 0
La déclaration NSLog doit retourner le nombre de toutes les entrées dans l'alimentation. Dans ce cas, il devrait être « 3 », problème est qu'il renvoie 0.
Je trouve que ce morceau de code fonctionne:
CXMLDocument *preParser = [[CXMLDocument alloc] initWithData:sourceData options:0 error:nil];
NSString *sourceStringUTF8 = [preParser XMLString];
[preParser release];
CXMLDocument *parser = [[CXMLDocument alloc] initWithData:[sourceStringUTF8 dataUsingEncoding:NSUTF8StringEncoding] options:0 error:nil];
NSArray *allEntries = [parser nodesForXPath:@"//entry" error:nil];
NSLog(@"Found entries: %d",[allEntries count]); //Returns 3, which is ok
Mais en utilisant ce qui semble hacky (il est probablement) et présente quelques autres insectes sporadiques.
Autant que je sache, l'expression Xpath est correcte. Je l'ai vérifié en utilisant également la page this. Est-ce que quelqu'un peut m'aider avec ce problème, ou me diriger dans la bonne direction.
Merci.
J'ai enregistré un message d'erreur et c'est null, donc il n'y a pas d'erreur. Le problème est que TouchXML ne renvoie tout simplement aucun nœud pour l'instruction Xpath, alors que AFAIK devrait juste les trouver. – Rengers