probleme flash as2 load xm

trek9505

Membre enregistré
24 Mai 2011
2
0
Bonjour,

J'ai un problème avec le chargement d'un xml dans mon swf depuis que j'ai ajouté des balises "CDATA" dans mon xml les balise html ne sont plus lu.

Voici mon code :
Bloc de code:
var donneesXML:XML = new XML();

donneesXML.load("site_swf/fr/textes_fr/springbok_presentation_fr.xml");
donneesXML.ignoreWhite = true;
donneesXML.onLoad = function(succes)
{
	if(succes) txt_springbok.htmlText = donneesXML; else txt_springbok.text = "Chargement raté";
}

Et voici un partie de mon texte en xml

Bloc de code:
<?xml version="1.0" encoding="utf-8"?><data><zonetexte><![CDATA[<P ALIGN="JUSTIFY"><FONT FACE="_serif" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0">Quelques références : </FONT></P><P ALIGN="JUSTIFY"><FONT FACE="_serif" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0"></FONT></P><B>Montant de la dette : 2 M€ </B></FONT></P>]]></zonetexte></data>
 
Bon en flash, je n'y connait rien mais :

Dans le xml, si tu ne mets pas les accents ça marche ?

Autre chose, revois tes balises html ;)

Essaie comme ça :

Bloc de code:
<?xml version="1.0" encoding="utf-8"?>
    <data>
        <zonetexte>
            <![CDATA[
<p style="text-align:justify;font-family:serif;font-size:12px;color:black;">Quelques r&#233;f&#233;rences :</p>
<p style="text-align:justify;font-family:serif;font-weight:bold;font-size:12px;color:black;">Montant de la dette : 2 M€</p>
            ]]>
        </zonetexte>
    </data>


---------- Nouveau message ajouté à 08h15 ---------- Le message précédent a été envoyé à 08h01 ----------

Je me réponds à moi-même

- le problème d'accent n'est que si tu n'as pas enregistré ton xml en utf-8 (enregistrement à vérifier)

- le problème des balises html est tout autre
il faut accéder au fichier xml avec "nodeValue" (c'est là que je ne sais pas comment faire)

Bloc de code:
texte.htmlText = document.firstChild.childNodes[0].childNodes[0].childNodes[0].firstChild.nodeValue;

Pour mettre du code HTML dans un XML, il est préférable d'utiliser les balises CDATA, d'encoder le XML en UTF-8 (dans tous les cas) et d'accéder aux noeuds avec la propriété nodeValue.

Source
 
Merci, en effet c'était un problème avec les noeuds.
Voici la réponse (en espérant que ça aidera quelqu'un d'autre) :up::
var donneesXML:XML = new XML();

donneesXML.load("file.xml") ;
donneesXML.ignoreWhite = true;
donneesXML.onLoad = function(succes)
{
if(succes)
txt_springbok.htmlText = this.firstChild.firstChild.firstChild.nodeValue;
else
txt_springbok.htmlText = "Chargement raté";
}