J'ai un fichier xml local qui, je le sais, contient du format XML bien formaté UTF-8. Mais NSXMLParser n'analysera pas correclty.La lecture du fichier XML local rend le retour NSXMLParser NULL
chemin vers le fichier:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"example.xml"];
Sauvegarde du xml du web:
NSURL *xml = [NSURL URLWithString:@"http://www.example.com/example.xml"];
NSString *data = [[NSString alloc] initWithContentsOfURL:xml encoding:NSUTF8StringEncoding error:nil];
[data writeToFile:appFile atomically:YES encoding:NSUTF8StringEncoding error:nil];
Parsing xml:
NSURL *xmlFile = [NSURL URLWithString:appFile];
NSXMLParser *addressParser = [[NSXMLParser alloc] initWithContentsOfURL:xmlFile];
Si je tente l'analyse du NSURL "xml" directement ce fonctionne, mais le code ci-dessus retournera NULL et aucune erreur. J'ai trouvé un autre article ici sur le forum décrivant exactement la même chose, mais je ne peux pas le trouver à nouveau, et le poste n'avait pas de réponses.
Espérons que quelqu'un peut vous aider! Fondamentalement, il s'agit simplement de stocker un fichier XML dans un fichier, puis de l'envoyer à NSXMLParser.