Forum-webmaster
Technique - programmation => Langages de programmation divers => Message commencé par: raphy1609 le le 12-06-2006 a 15:30:17

Titre: encodage xml
Posté par: raphy1609 le le 12-06-2006 a 15:30:17

bonjour,
j'ai un petit problème qui en ce qui concerne l'encodage d'un fichier xml qui est ensuite récupéré dans flash.

voila le code qui génère mon xml :

$file = "<?xml version='1.0' encoding='ISO-8859-1'?><rss><flashdynamique>";

while($row = mysql_fetch_row($req)) {

$file .= "<produit>";
$i = 0;
foreach($row as $r){
$file .= "<##".htmlentities($i)."##>".htmlentities(trim($r))."</##".htmlentities($i)."##>"; // CREATION DE TAGS
++$i;
}
$file .= "</produit>";

}
$file .= "</flashdynamique></rss>";

$i = 0;
while($field = mysql_fetch_field($req2)) {
$file = ereg_replace("##$i##",$field->name,$file); // REMPLACE LES TAGS
++$i;
}

et voila ce que j'obtien quand je rentre quelque chose qui comporte des accents :

Erreur d'analyse XML : entité non définie
Emplacement : http://xendev-web/ApllicationFlashDynamique/fichier.xml
Numéro de ligne 1, Colonne 22047 :<?xml version='1.0' encoding='ISO-8859-1'?><rss version='2.0'><flashdynamique><produit><image>wasabi2.jpg</image>

Est ce que quelqun si connais s'il vous plait.

Merci d'avance


Titre: Re:encodage xml
Posté par: killian le le 01-03-2007 a 18:01:41

Est-ce que les balises <flashdynamique> et <produit> sont autorisés dans un flux rss ?

Il me semblait que les noms des balises étaient prédéfinies ( channel, item, description.. )

Je ne sais pas si c'est ça qui fait planter mais la balise <rss> me semble étrange ici.

Titre: Re:encodage xml
Posté par: theonlydrayk le le 01-03-2007 a 18:31:19

Les html entitites sont pas defini dans le XML.

yen a que 5
&apos;
&lg;
&gt;
&amp;
&quot;

Tu doit ajouter les html entites 4.01 dans le DTD de ton XML.

http://www.w3.org/TR/html401/strict.dtd

Les HTML entities sont dans le fichier :


Code:
<!--================ Character mnemonic entities =========================-->

<!ENTITY % HTMLlat1 PUBLIC
"-//W3C//ENTITIES Latin1//EN//HTML"
"HTMLlat1.ent">
%HTMLlat1;

<!ENTITY % HTMLsymbol PUBLIC
"-//W3C//ENTITIES Symbols//EN//HTML"
"HTMLsymbol.ent">
%HTMLsymbol;

<!ENTITY % HTMLspecial PUBLIC
"-//W3C//ENTITIES Special//EN//HTML"
"HTMLspecial.ent">
%HTMLspecial;


Download les et rajoute les dans ton DTD ou utilise les sur le site.....

Normalement on doit faire ca aussi avec du XHTML servit en application/xhtml+xml mais les browser n'en tienne pas compte.


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.