Afficher variable PHP dans XML
le 18/07/2006 à 15:58
Bonjour,
J'ai un petit soucis.je génère un XML avec du PHP pour un ensemble en AJAX.
Seul preoblème, mon xml est en utf8 et je n'arrive pas a afficher mes variable php dedans correctement.
J'ai bien fait un utf8_encode mais il n'aime visiblement pas les balise html ni sous forme brut (<>) ni sous forme $eacute ... Comment faire pour afficher correctement mes variables php ?
Merci de votre aide :)
le 18/07/2006 à 17:08
Lefounard
Déconnecté
I am singing in the rain , I am happy again !!
le 18/07/2006 à 17:48
Arf en fait c'est dans l'autre sens, je ne souhaite pas parser un XML mais en générer un :)
le 18/07/2006 à 18:01
Lefounard
Déconnecté
I am singing in the rain , I am happy again !!
voila mon rss , le php genere le xml
<?php
if ( ! connexion ( ) ) { echo 'Connexion à la base echouée' ; } else { $xml = '<?xml version="1.0" encoding="iso-8859-1"?><rss version="2.0">' ; $xml .= '<channel>' ; $xml .= '<title>Toutdroit News</title>' ; $xml .= '<link>http://toutdroit.free.fr</link>' ; $xml .= '<description>Toudroit : Site pour les étudiants en Droit (Montpellier). Cours,fiche,tds,tout sur le Droit avec des corrections. Forum , dates des exams de Droit pour les licences 1,2 et 3. Tout sur le droit.</description>' ; $xml .= '<webmaster>sitetoutdroit@hotmail.com</webmaster>' ; $xml .= '<language>fr</language>' ; $sql = 'SELECT * FROM site_news ORDER BY date DESC LIMIT 5' ; $req = mysql_query ( $sql ) or die ( 'Erreur SQL!<br>' . $sql . '<br>' . mysql_error ( ) ) ; while ( $tab = mysql_fetch_array ( $req ) ) { $titre = $tab [ titre ] ; $lien = $tab [ lien ] ; $titre = stripslashes ( htmlentities ( trim ( $tab [ 'titre' ] ) ) ) ; $description = nl2br ( stripslashes ( htmlentities ( trim ( $tab [ 'texte_news' ] ) ) ) ) ; sscanf ( $tab [ 'date' ] , "%4s-%2s-%2s" , $an , $mois , $jour ) ; $xml .= '<item>' ; $xml .= '<title><![CDATA[' . $titre . ']]></title>' ; $xml .= '<link><![CDATA[http://toutdroit.free.fr/news_comentr.php?num=' . $tab [ 'id' ] . '&do=lk]]></link>' ; $xml .= '<pubDate>' . $jour . '/' . $mois . '/' . $an . '</pubDate>' ; $xml .= '<description><![CDATA[' . $description . ']]></description>' ; $xml .= '</item>' ; } $xml .= '</channel>' ; $xml .= '</rss>' ; $fp = fopen ( "flux.xml" , 'w+' ) ; if ( $fp != - 1 ) { if ( fputs ( $fp , $xml ) ) { echo 'ecriture dans le fichier xml reussie.' ; fclose ( $fp ) ; } else echo 'erreur d\'ecriture dans le fichier ' ; } else { echo 'erreur d\'ouverture du fichieren w+' ; } @ mysql_close ( ) ; } ?>
le 18/07/2006 à 18:24
Lefounard
Déconnecté
I am singing in the rain , I am happy again !!
laglobule me l'avait indiquer ,regarde CDATA, ca fait partie du cours xml.
le 18/07/2006 à 18:40
ah yes merci :D
C'est ce qu'il me manquait :p
Merci beaucoup :)
le 18/07/2006 à 19:55
Juste une petite chose, j'ai mis mes données en attribut, CDATA n'a pas l'air de fonctionner sur un attribut?...
http://www.student-designer.com/ajax/galerie.php?nom=manu&page=1
Est ce que je peux faire fonctionne CDATA sur mon script ou je dois tout refaire et stocker mes infos entre <balise>info</balise> ?
le 18/07/2006 à 21:21
Non bah en fait désolé, j'ai réussi :)
Encore merci, le sujet est résolu !
Accès rapide :
PHP / MySQL
HTML / CSS
Javascript
Autres technologies
Le site
Les 3H du PHP
Le bar
Script / Production personnelle
Remonter