Afficher variable PHP dans XML

Répondre
manu56
le 18/07/2006 à 15:58
manu56
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 :)
manu56
le 18/07/2006 à 17:48
manu56
Arf en fait c'est dans l'autre sens, je ne souhaite pas parser un XML mais en générer un :)
Lefounard
le 18/07/2006 à 18:01
Lefounard
voila mon rss , le php genere le xml
<?php
/*
Modification du fichier flux.xml
on met a jour le fichier xml du flux rss, lorque qu'une nouvelle new est ajouté au site.
*/

//Connexion avec verification
if(!connexion())
{
echo 'Connexion à la base echouée';
}
else
{
// Entete du fichier XML
$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=affich_text($data['texte_news']);

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


// édition de la fin du fichier XML
$xml .= '</channel>';
$xml .= '</rss>';

// écriture dans le fichier
$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();
}
?>
I am singing in the rain , I am happy again !!
Lefounard
le 18/07/2006 à 18:24
Lefounard
laglobule me l'avait indiquer ,regarde CDATA, ca fait partie du cours xml.
I am singing in the rain , I am happy again !!
manu56
le 18/07/2006 à 18:40
manu56
ah yes merci :D

C'est ce qu'il me manquait :p

Merci beaucoup :)
manu56
le 18/07/2006 à 19:55
manu56
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> ?
manu56
le 18/07/2006 à 21:21
manu56
Non bah en fait désolé, j'ai réussi :)

Encore merci, le sujet est résolu !
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours