Aller au contenu

Mysql >> XML


roule007

Sujets conseillés

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 !

Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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>';

Lien vers le commentaire
Partager sur d’autres sites

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 ??

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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....

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...