XML Parser
Bonjour,
J'interroge un newsfeed en XML qui fonctionne bien. Le propriétaire du site à mis un nouveau newsfeed sur un serveur de test. Depuis je ne reçois que le premier item ?
En posant ma requête avec VisualXML (un petit utilitaire trouvé sur le macStore), je ne vois aussi que le premier. Par contre Shrook (un autre utilitaire) trouve bien tous les items.
Je dois donc rencontré un problème quelle part mais je n'ai pas de piste.
Les entêtes des deux fichiers XML sont les mêmes et leur structure très avoisinante en ce qui concerne ce que je dois parser.
Une idée ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Est-ce que le XML est toujours valide par rapport à son schéma ? (XLD)
Est-ce que le parseur renvoie une erreur ?
(Ouais, moi je suis comme ça, avant de mettre en cause mon code, je mets en cause les données envoyées par le serveur >:D ).
Je pense qu'effectivement cela provient du serveur...
Avec Shrook (l'utilitaire qui arrive à lire le flux XML) je peux visualiser la source au format text.Si je la copie colle dans TextWrangler et que je l'enregistre en .XML
Pour le serveur en production je retrouve bien dans mon finder un fichier XML avec un aperçu correct. Par contre pour le serveur test je me retrouve avec un fichier de type document sans aperçu
Le serveur ne sembla pas renvoyer toutes les données mais l'application Shrook parvient bien à toutes les recevoir.
Peut-être a-t-il quelque chose pour relancer ou forcer la requête à aller au bout ?
Google Chrome arrive aussi très bien à télécharger le fichier XML
Voilà j'ai identifié la ligne qui pose problème elle est du type :
C'est le caractère & qui pose l'arrêt du parser. Je vais pouvoir le modifier côté serveur ce qui va résoudre mon problème.
Dans la string il faudrait une ligne remplacer & par &
Par contre exist-t-il un moyen de prévenir ce genre de cas et éviter l'arrêt du Parser XML en détectant une erreur ?
On peut évidement signaler l'erreur grâce à
Mais y a t il un moyen de la corriger ?
Non. &, c'est du HTML et c'est tout. Rien à voir avec le XML.
Solution:
https://en.wikipedia.org/wiki/Percent-encoding
En fait si on peut utiliser & en XML. [url=http://www.w3.org/TR/xml/#syntax
Le fichier renvoyé par le serveur est faux car il n'est pas valide en XML (à cause du "&" qui devrait être "&").
Après, je ne sais pas si "&" est autorisé dans une URL quand il est utilisé avant le début de la partie query.