Version complète: sur le forum Webmaster Hub : Mysql >> XML
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
roule007
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é ! wink.gif

Merci à tous !
loulou
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
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.

CODE
echo '<designation><![CDATA['. $products['products_name'] .']]></designation>';
roule007
CITATION(loulou @ vendredi 08 juillet 2005, 11h04)
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.

CODE
echo '<designation><![CDATA['. $products['products_name'] .']]></designation>';

*



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
En fait pour l'url c bon :S
Mais pas pour les descriptions....sad.gif
$xml .= "<description><![CDATA['.$description.']]></description>\n";
Mais il me pose pb quand dans ma description j'ai des ' du genre :" l'école"
:S
loulou
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....
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.