SimpleXML sur formulaire pdf [Résolu] [PHP] - PHP - Programmation
Marsh Posté le 18-02-2009 à 15:12:27
Vu ce que tu racontes la question est surtout la suivante :
Pourquoi est ce que t'as une balise fermante pour les options non renseigné quand la balise ouvrante n'est présente que quand on renseigne les options?
Quand à simplexml, c'est normal qu'il gueule, tu lui demandes de parser un fichier invalide.
Marsh Posté le 18-02-2009 à 15:34:35
Ca je sais bien, c'est adobe qui merde quand il crée le xml de réponse. Il est crée automatiquement par acrobat, donc je ne peut pas agir dessus à la base.
Je voudrais donc, avant de traité le fichier xml, le rendre valide avec php.
Donc le pourquoi en fait, et bien je ne sais pas pourquoi acrobat crée des fichiers xml invalide. Sûrement parce que ça leur convient pour les traiter par leur logiciel et n'ont pas pensé qu'on voudrait l'utiliser en dehors.
Marsh Posté le 18-02-2009 à 16:20:34
Si tu veux rendre le document valide alors tu n'as qu'une seule solution : te créer un analyseur cherchera les balises manquante.
Là où tu vas t'amuser, c'est pour faire la différence entre les balises fermantes qui manquent et les balises ouvrantes qui manquent sauf si tu te fais un dtd sur lequel l'analyseur se base pour deviner précisément qu'elle erreur il a détecté (balise fermante orpheline, balise fermante manquante et du coup celle trouvé ne correspond pas à la dernière balise ouvrante qui n'a pas de balise fermante, inversion dans l'ordre des balises, ...).
Marsh Posté le 18-02-2009 à 16:53:15
Ok, merci pour ta réponse. Ca m'emballe pas vraiment, je vais y passer trop de temps vu mon niveau d'amateur.
Je vais voir s'il y a un moyen en manipulant directement le pdf, peut être avec un javascript.
Marsh Posté le 18-02-2009 à 17:10:32
Bon, je suis trop mauvais. Il y a une option pour éviter les veuves et orpheline dans livecyle, mais pas activé à la base.
Désolé pour le dérangement et merci pour ton aide omega2.
Marsh Posté le 18-02-2009 à 15:07:24
Bonjour,
J'utilise simplexml pour entrer les réponses d'un formulaire pdf (fait avec livecycle) vers une base de donnée MySQL.
Le problème est lorsqu'un champs n'est pas remplit, le fichier xml qui est créé ressemble à ça (dans le cas du téléphone pas renseigné) :
La forme "</Telephone>" alors qu'aucune balise n'a été ouverte ne plait pas à simple xml, j'aurais aimé savoir comment ignoré ces balises. J'ai bien l'astuce de rendre tous les champs obligatoire à la création du formulaire en leur donnant une valeur par défaut " " mais c'est vraiment une bidouille qui ne me plait pas trop.
La ligne qui pose le problème est lors du chargement du fichier: simplexml_load_file($xmlstr);
L'erreur :
Qui se répercute sur le reste du fichier :
Une partie de la source php :
Merci à ceux qui pourront m'aider.
Message édité par PM95 le 18-02-2009 à 17:10:54