Aller au contenu

Mysql >> XML


Sujets conseillés

Posté

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 !

Posté

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 ?

Posté

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

Posté

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

Posté

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

Veuillez vous connecter pour commenter

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



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