SimpleXML et noeud fermé : impossible de parser - PHP - Programmation
Marsh Posté le 26-11-2007 à 19:45:30
nœud fermé sans être ouvert = pas un document XML
C'est donc normal que simpleXML plante.
Seul solution parser le document à la main pour le rendre compatible XML (j'espere que t'aime faire du bateau car tu va galérer)
Marsh Posté le 26-11-2007 à 19:46:36
le fichier est tres lourd
comment faire a part contacter les mecs ? rien ?
Marsh Posté le 26-11-2007 à 20:17:19
les règles d'eciture d'un xml ne sont pas nombreuse mais elles sont critique en cas de la moindre erreur (c'est sure ca change du html).
Si php peut pas corriger soit c'est à ceux qui crée l'xml de corriger leurs erreurs (c'est la solution la plus logique et la plus simple). Sinon faire corriger ton fic par un autre tiers (un prog ecrit en c par exemple), mais c'est lourd en dev et reste du bricolage.
bonne chance ...
Marsh Posté le 27-11-2007 à 11:31:09
je pense pas.
En effet sax parcours le document au fur et à mesure, donc il ne plantera peut etre pas tout de suite, mais si t'a pas un doc xml valid tu t'en sortira jamais complètement
Marsh Posté le 28-11-2007 à 03:13:05
XMlReader tu peux lire ton fichier comme un flux, et même pour ce genre de noeur ça plante pas car il ne crée pas d'élément DOM (si j'ai bien compris). Donc tu faire un script qui transforme ce genre de balises en une balise autofermante. Ca marche pas trop mal, je suis en train de parser un fichier GML de 500 mo pour le mettre en base et ça prend à peine une vingtaine de minutes.
Marsh Posté le 26-11-2007 à 18:15:04
salut,
dans mon flux j'ai des noeuds qui normalement on cette forme :
sauf que quelques fois ce noeud est fermé mais jamais ouvert, donc simpleXML plante.
Auriez vous une astuce pour eviter ca ?