PArse XML probleme symbole

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : PArse XML probleme symbole

par JOHAAANNS » 21 nov. 2007, 23:18

Non non je ne dis pas que s c'est impossible de creer un fichier XML invalide...

C'est plutot que je ne sais pas comment faire , j'ai regardé quelques tuto..mais il parle souvent "fouiller" un XML...

Mais pour ma part je ne sais pas utiliser simpleXML...

je ne comprends pas comment on l'utilise...????

par Hubert Roksor » 21 nov. 2007, 23:14

Il est impossible de faire du XML invalide avec SimpleXML.

SimpleXML n'est pas un devin, si tu déclares ton document en iso-8815-1 et que tu lui donnes "Chtimédia" le trombone ne va pas surgir de la barre de tâche pour te dire "J'ai l'impression que vous n'avez pas lu mon précendt message, souhaitez-vous le relire maintenant ?".

Déclares ton document en UTF-8 et donne-lui de l'UTF-8.
Ou alors déclares ton document en ISO-8859-1 et donne-lui de l'ISO-8859-1. Si tu fais moitié-moitié ça ne va pas fonctionner, point.

par JOHAAANNS » 21 nov. 2007, 23:10

J'avoue ne pas bien comprendre simplexml...

Comment peut on creer un XML correct avec SimplXML ...??

par Hubert Roksor » 19 nov. 2007, 13:07

Tu corriges ta déclaration en mettant utf-8 à la place de iso-8859-1 et ça marchera.

par JOHAAANNS » 19 nov. 2007, 12:52

Bein je ne sias pas trop les differences..

En faisaint ce que tu m'as dis ca marche nikel
on peut d'ailleurs voir le flux ici :

http://chti.levillage.org/rss/flux_info.xml

Cepedant mon titre Chtimédia et la description en dessous de ce dernier me cause quelques petits soucis sous IE7 (Mais nikel chez netvibes)

Code : Tout sélectionner

Chtimédia
C'est surment due a ce "formatage" soit UTF-8 ou ISO-8859-1.

La je bloque !!!

par Hubert Roksor » 19 nov. 2007, 12:42

C'est sûr que si tu fais du XML sans SimpleXML tu vas avoir envie de t'ouvrir les veines de temps à autres :roll:

Au fait, je ne sais pas si tu as remarqué mais il semble que tes données soient en UTF-8 alors que tu déclares ton fichier en ISO-8859-1.

par JOHAAANNS » 19 nov. 2007, 12:25

Merci de cette reponse rapide.

J'ai utilisé htmlspecialchars() et tout marche nickel.
Par contre je ne connaissais pas SimpleXML je vais me pencher dessus..

Un grand grand merci.
Bonne continuation !!!

Re: PArse XML probleme symbole

par Hubert Roksor » 19 nov. 2007, 12:12

Référence à l'entité non définie 'eacute'.
Ligne : 28 Caractère : 29
Je vois que tu utilises htmlentities(), mais ton fichier n'est pas du HTML, c'est du XML et é n'a pas cours. Si tu veux échapper les caractères spéciaux, tu peux utiliser htmlspecialchars(), mais la meilleure solution reste d'utiliser SimpleXML pour créer ton document.

PArse XML probleme symbole

par JOHAAANNS » 19 nov. 2007, 12:07

Bonjour a tous,

J'ai regardé dans le forum, j'ai trouvé quelques solutions..
Mais je seche, j'en perd mon hongrois ;)

voici mon code qui permet de parse en XML
<?php
require ('cnx/cnx.php'); 
//require('include/fonction.php');

mysql_select_db($database_cnx,$cnx);
$res = mysql_query("SELECT * FROM cm_categories_contenu WHERE catcont_online = '1' ORDER BY catcont_id DESC LIMIT 10");


// édition du début du fichier XML
$xml = '<?xml version="1.0" encoding="iso-8859-1"?>'."\r\n";
$xml .= '<rss version="2.0">'."\r\n";
$xml .= '<channel>'."\r\n";
$xml .= '<title>Chtimédia</title>'."\r\n";
$xml .= '<link>http://chti.levillage.org</link>'."\r\n";
$xml .= '<description>Le chtimédia est le témoin de toutes les initiatives créatives, événements et rencontres de la métropole lilloise et ses alentours.</description>'."\r\n";
$xml .= '<docs>http://backend.userland.com/rss</docs>'."\r\n";

// extraction des informations et ajout au contenu
while($row = mysql_fetch_array($res))
{  
	
	//Titre
    $catcont_titre = stripslashes($row['catcont_titre']); 
	//Description
    $catcont_description_1 	 = htmlentities(stripslashes($row['catcont_description_1'])); 
	//Lien vers le site avec le complement du sujet 
	$lien = htmlentities("http://chti.levillage.org/index.php?page=".$row['catcont_menu_id']."&cat2=".$row['cat_id']."&catcont_id=".$row['catcont_id'].""); 
	//Essai pour mettre une image/vignette qui correspond au titre
   $image = htmlentities("http://chti.levillage.org/vignettes/".$row['catcont_vignettes']."");
   
   
   
    $xml .= '<item>'."\r\n";
    $xml .= '<title>'.$catcont_titre.'</title>'."\r\n";
	$xml .= '<description>'.$catcont_description_1.'</description>'."\r\n";
	$xml .= '<enclosure url="'.$image.'" type="image/jpeg" length="10000" />'."\r\n";
    $xml .= '<link>'.$lien.'</link>'."\r\n";
    $xml .= '</item>'."\r\n";   
}


$xml .= '</channel>'."\r\n";
$xml .= '</rss>'."\r\n";
file_put_contents('rss/flux_info.xml', $xml);

?>
Firefox me propose d'ouvrir ce flux sous divers "client", je l'ouvre donc avec Netvibes, qui l'affcihe sans erreur [saut probleme de lien a cause des '&' exemple : &cat=2]

Sous IE7 il me dit :

Code : Tout sélectionner

Référence à l'entité non définie 'eacute'. Ligne : 28 Caractère : 29 Genre : folk acoustique ind&eacute
Ensuite je verifie ce que donne mon fichier XML, voici le resultat :
<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
<channel>
<title>Chtimédia</title>
<link>http://chti.levillage.org</link>
<description>Le chtimédia est le témoin de toutes les initiatives créatives, événements et rencontres de la métropole lilloise et ses alentours.</description>
<docs>http://backend.userland.com/rss</docs>
<item>
<title>AND ALSO THE TREES</title>
<description>(listen for) the rag ans bone man 
Genre : alternatif
Sortie : novembre 2007 
</description>
<enclosure url="http://chti.levillage.org/vignettes/1195393321_andalsothetrees.gif" type="image/jpeg" length="10000" />
<link>http://chti.levillage.org/index.php?page=0&cat2=9&catcont_id=75</link>
</item>
<item>
<title>BRISA ROCHE</title>
<description>Takes
Genre : folk pop
Sortie : novembre 2007 </description>
<enclosure url="http://chti.levillage.org/vignettes/1195393180_brisaroche.gif" type="image/jpeg" length="10000" />
<link>http://chti.levillage.org/index.php?page=4&cat2=9&catcont_id=74</link>
</item>
<item>
<title>ALELA DIANE</title>
<description>Pirate's gospel
Genre : folk acoustique ind&eacute;
Sortie : octobre 2007 </description>
<enclosure url="http://chti.levillage.org/vignettes/1195393071_aleladiane.gif" type="image/jpeg" length="10000" />
<link>http://chti.levillage.org/index.php?page=4&cat2=9&catcont_id=73</link>
</item>
<item>
<title>COCOON</title>
<description>My friends all died in a plane crash
Genre : folk acoustique ind&eacute; 
Sortie : octobre 2007 </description>
<enclosure url="http://chti.levillage.org/vignettes/1195392975_coccoon.gif" type="image/jpeg" length="10000" />
<link>http://chti.levillage.org/index.php?page=4&cat2=9&catcont_id=72</link>
</item>
<item>
<title>KEVIN MICHAEL</title>
<description>Kevin Michael
Genre : soul r&b pop
Sortie : octobre 2007 
</description>
<enclosure url="http://chti.levillage.org/vignettes/1195392865_kevinmichael.gif" type="image/jpeg" length="10000" />
<link>http://chti.levillage.org/index.php?page=4&cat2=9&catcont_id=71</link>
</item>
<item>
<title>YAEL NAIM</title>
<description>Yael Na&iuml;m
Genre : folk pop acoustique
Sortie : octobre 2007 </description>
<enclosure url="http://chti.levillage.org/vignettes/1195392724_yaelnaim.gif" type="image/jpeg" length="10000" />
<link>http://chti.levillage.org/index.php?page=4&cat2=9&catcont_id=70</link>
</item>
<item>
<title>TRENTEMOLLER</title>
<description>The trentemoller chronicles
Genre : &eacute;lectronique dub ind&eacute;
Sortie : octobre 2007 </description>
<enclosure url="http://chti.levillage.org/vignettes/1195392592_trentemoller.gif" type="image/jpeg" length="10000" />
<link>http://chti.levillage.org/index.php?page=4&cat2=9&catcont_id=69</link>
</item>
<item>
<title>ASA</title>
<description>Asa
Genre : soul folk pop
Sortie : octobre 2007 </description>
<enclosure url="http://chti.levillage.org/vignettes/1195392453_asa.gif" type="image/jpeg" length="10000" />
<link>http://chti.levillage.org/index.php?page=4&cat2=9&catcont_id=68</link>
</item>
<item>
<title>BEIRUT</title>
<description>The flying club cup
Genre : folk ind&eacute;
Sortie : octobre 2007</description>
<enclosure url="http://chti.levillage.org/vignettes/1195392342_beirut.gif" type="image/jpeg" length="10000" />
<link>http://chti.levillage.org/index.php?page=4&cat2=9&catcont_id=67</link>
</item>
<item>
<title>FINK</title>
<description>Distance and time
Genre : folk blues dub
Sortie : octobre 2007</description>
<enclosure url="http://chti.levillage.org/vignettes/1195391721_fink.gif" type="image/jpeg" length="10000" />
<link>http://chti.levillage.org/index.php?page=4&cat2=9&catcont_id=65</link>
</item>
</channel>
</rss>
Je ne sias pas comment remedier a ce probleme pour que ce flux marche correcetment et surtout aussi bien sous IE7 que dans firefox, sans oublier mon probleme de lien (&)

Merci de vos futurs reponses