roule007 Posté 8 Juillet 2005 Posté 8 Juillet 2005 Bonjour à tous, Je souhaite rentrer dans un fichier XML certaines entrées de ma base de données. J'ai fait un fichier php qui lit ma base et qui rentre les données dans un fichier XML. J'ai un problème de formation du XML avec les données type url (http://www.monsite.com) et certaines description ou il y a des quotes, accents et autres guillements. Ma question est donc comment à la suite d'une requête MYSQL récuppérer des champs texte pour les mettre dans un fichier XML, sans que celui-ci soit mal formé ! Merci à tous !
loulou Posté 8 Juillet 2005 Posté 8 Juillet 2005 Bonjour, Je ne suis pas sure de bien comprendre ton problème : Quand tu récupères tes données, elles sont entourées de ' ou de " ? Ou bien alors s'agit-il de données comportant des tags html ou php ?
loulou Posté 8 Juillet 2005 Posté 8 Juillet 2005 Ce que tu peux faire, c'est créer des champs avec CDATA. Cela te permet d'avoir un contenu de champs, non analysé par le parseur xml, ainsi si le champs contient des caractèes "spéciaux" qui pourraient intérrompre le "parsage", vu que les champs CDATA ne sont pas analysés, cela ne plante pas. echo '<designation><![CDATA['. $products['products_name'] .']]></designation>';
roule007 Posté 8 Juillet 2005 Auteur Posté 8 Juillet 2005 Ce que tu peux faire, c'est créer des champs avec CDATA.Cela te permet d'avoir un contenu de champs, non analysé par le parseur xml, ainsi si le champs contient des caractèes "spéciaux" qui pourraient intérrompre le "parsage", vu que les champs CDATA ne sont pas analysés, cela ne plante pas. echo '<designation><![CDATA['. $products['products_name'] .']]></designation>'; <{POST_SNAPBACK}> Bon alors j'ai mis : $xml .= "<lien>![CDATA['.$lien.']]</lien>\n"; Mais il me sort toujours une erreur car mes url sont de la forme : http://www.monsite.com/index.php?truc=12&truc2=13 Comment faire ??
roule007 Posté 8 Juillet 2005 Auteur Posté 8 Juillet 2005 En fait pour l'url c bon :S Mais pas pour les descriptions.... $xml .= "<description><![CDATA['.$description.']]></description>\n"; Mais il me pose pb quand dans ma description j'ai des ' du genre :" l'école" :S
loulou Posté 8 Juillet 2005 Posté 8 Juillet 2005 Il te manque des chevrons autour de "CDATA" $xml .= "<lien><![CDATA['.$lien.']]></lien>\n"; Et pour encadrer une chaine de caractères, soit tu mets des doubles quotes soit des simples quotes, mais pas l'un en début de chaine et l'autre en fin : $xml .= "<lien><![CDATA['.$lien....
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant