Perdu avec NSXMLParser
olof
Membre
Bonjour à tous,
j'ai récupéré un vieux projet fait sous Xcode 3 et quelques dans Xcode 4.3.2, sous Mac OSX 10.7.3.
Ce projet parse un fichier XML avec NSXMLParser et "son" delegate NSXMLParserDelegate.
J'ai donc une classe qui adopte le protocole NSXMLParserDelegate et qui implémente 2 ou 3 méthodes du genre didStartElement.
Dans cette même classe, j'instancie un objet NSXMLParser, je set son delegate à self et je lance le parse. Ai-je oublié quelque chose ? Parce que rien ne se passe ! J'a des logs avant et après le lancement du parse (le code y passe bien) par contre, les méthodes delegates ne sont JAMAIS appelées !
Une idée (même sans le code) ? Une piste ?
j'ai récupéré un vieux projet fait sous Xcode 3 et quelques dans Xcode 4.3.2, sous Mac OSX 10.7.3.
Ce projet parse un fichier XML avec NSXMLParser et "son" delegate NSXMLParserDelegate.
J'ai donc une classe qui adopte le protocole NSXMLParserDelegate et qui implémente 2 ou 3 méthodes du genre didStartElement.
Dans cette même classe, j'instancie un objet NSXMLParser, je set son delegate à self et je lance le parse. Ai-je oublié quelque chose ? Parce que rien ne se passe ! J'a des logs avant et après le lancement du parse (le code y passe bien) par contre, les méthodes delegates ne sont JAMAIS appelées !
Une idée (même sans le code) ? Une piste ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Si ça se trouve il n'a rien à parser, ou alors à peine a-t-il commencé à parser qu'il a un problème et ne peux mm pas atteindre le premier tag ? (erreur d'encodage lors de la récupération du XML, ...)
Même la méthode "– parserDidStartDocument:" n'est pas appelée ?
Si tu nous montrais les qques lignes de code correspondant à ton parser ?
puis :
Après, je fais ça :
J'ai ajouté la méthode parserDidStartDocument, elle n'est pas appelée non plus...
<?xml version= "1.0" encoding="UTF8" >
J'étais sûr que c'était un détail tout con... Le pire, c'est que j'ai repris ce bout de code XML sur un site (je ne sais plus lequel maintenant) !!!
Merci
Bien vu.
Dans le delegate il y a une fonction appelée en cas d'erreur de parsing, il serait intéressant de savoir si elle était appelée dans ce cas.
J'ai implémenté ces deux méthodes :
elles ne sont pas appelées !