Charger l'url d'une image contenue dans un XML

Messages postés
7
Date d'inscription
dimanche 3 juin 2007
Statut
Membre
Dernière intervention
4 février 2011
- - Dernière réponse : dj_ouf
Messages postés
221
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
6 septembre 2011
- 3 févr. 2011 à 15:15
Bonjour,
je n'arrive pas à trouver comment récupérer le lien URl de mon XML pour récupérer l'image du lien?

Mon XML
          
        <title><![CDATA[Cul de bouteille]]></title>
        <description><![CDATA[La nouvelle terrible est tombée : profondément myope, Arnaud doit porter des lunettes, et pas n'importe quelles lunettes, une monture grossière qui lui décolle les oreilles et lui pince le nez.Des verres si épais que ses yeux ne semblent plus que deux petits points noirs... Ces affreuses binocles, Arnaud ne les aime pas et il préfère de loin le monde flou et protéiforme de sa myopie...]]></description>
        <![CDATA[2011-01-13 15:59:00]]>


        <enclosure url="http://lh5.ggpht.com/_6NT_B-AA_fI/TP0AAAnrX5I/AAAAAAAAAKU/GHyJkr6IWr0/4766442413.jpg" type="image/jpeg" length="" />
      


et mon code flash :
package  
{
import flash.display.*;
import flash.net.*;
import flash.events.*;
import flash.text.TextField;

/**
 * @author Ligams : http://www.ligams.com
 */
public class Main extends MovieClip
{
public const urlXMl:String = "news.xml";
public const FL_CHARGEMENT = "FL_CHARGEMENT";
public const FL_CHARGE = "FL_CHARGE";

public var rss:XML;

public function Main() 
{
trace("Main.Main");

}
public function Init():void
{
trace("Main.Init");
var request:URLRequest = new URLRequest(this.urlXMl);
var loader:URLLoader = new URLLoader();
//on attache l'événement en cas de plantage
loader.addEventListener(IOErrorEvent.IO_ERROR, this.Failed, false, 0, true);
//pour afficher la progression
loader.addEventListener(ProgressEvent.PROGRESS, this.Loading, false, 0, true);
//chargement terminé
loader.addEventListener(Event.COMPLETE, this.Complete, false, 0, true);

//lancement du chargement
loader.load(request);
}
public function Start():void
{
//trace(this.titre+this.description);
TextField(this.titre).text = this.rss.channel.title;
TextField(this.description).text  =  this.rss.channel.description;
TextField(this.newstitre).text = this.rss.channel.item[0].title;
TextField(this.newsdate).text = this.rss.channel.item[0].pubDate;
TextField(this.box).text = this.rss.channel.item[0].enclosure;

//notez que l'on peut mettre du HTML dans un TextField, c'ets relativement limité cela dit
TextField(this.newsdescription).htmlText = this.rss.channel.item[0].description;

//on place un petit lien sur le titre pour la forme
TextField(this.newstitre).addEventListener(MouseEvent.CLICK,this.NewsTitreRelease,false,0,true)
}

public function Loading(evt:ProgressEvent)
{
trace("Main.Loading");
var loader:URLLoader = evt.target as URLLoader;

var t:TextField = this.getChildByName("pourcentage") as TextField;
var complete:Number = Math.round(loader.bytesLoaded / loader.bytesTotal * 100);

t.text = complete +" %";

}
public function Failed(evt:IOErrorEvent):void
{
trace("Main.Failed");
}
public function Complete(evt:Event):void
{
trace("Main.Complete");
//on initialise l'attribut rss
this.rss = new XML(URLLoader(evt.target).data);
//une fois le XML chargé et l'attibut initialisé, on lance la seconde frame
this.gotoAndStop(this.FL_CHARGE);
}

public function NewsTitreRelease(e:Event):void
{
var url:URLRequest = new URLRequest(this.rss.channel.item[0].link);
navigateToURL(url);
}


}

}


Comment faire pour afficher mon image dans mon flash en passant par le lien URL de l'image contenue dans mon XML??

Merci
Afficher la suite 

1 réponse

Messages postés
221
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
6 septembre 2011
0
Merci
Salut,

L'url c'est this.rss.enclosure.@url dans la fonction Start. Après c'est du chargement d'image classique.
Commenter la réponse de dj_ouf