ActionScript 3.0, l'essentiel sous la main Adobe Flash Accueil
Fiches
Boutique
Contact
Lire un fichier XML
Nous allons voir ici comment lire un fichier XML externe.

Mon fichier XML ce présente de la manière suivante :

<?xml version="1.0" encoding="utf-8"?>
<root>
<list>
<item id="45">
<filename>affiche1.jpg</filename>
<url>http://www.google.fr/</url>
<target>_blank</target>
<title>Image n°1</title>
<description>Description de l'image...</description>
</item>
<item id="61">
<filename>affiche2.jpg</filename>
<url>http://www.google.fr/</url>
<target>_blank</target>
<title>Image n°2</title>
<description>Description de l'image...</description>
</item>
</list>
</root>

Dans Flash, sur une image clé vide :

//Imports Flash
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;

//URL du fichier XML
var fichierXML:URLRequest = new URLRequest("fichier.xml");

//Chargement du fichier
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onLoaded);
loader.load(fichierXML);

//Traitement des données
function onLoaded(e:Event):void
{
//Récupération des données du fichier XML
var xml:XML = new XML(e.target.data);

//Séparation des données par type
var xmlData0:XMLList = xml.list.item.attribute("id");
var xmlData1:XMLList = xml.list.item.filename;
var xmlData2:XMLList = xml.list.item.url;
var xmlData3:XMLList = xml.list.item.target;
var xmlData4:XMLList = xml.list.item.title;
var xmlData5:XMLList = xml.list.item.description;

//Affichage de données spécifique
var nom1 = xmlData1[0];
trace("Image n°1 : "+nom1);
}

Les données sont stockées dans un tableau. Pour y accéder, on doit spécifier quelle case du tableau on regarde (xmlData1[0]). La première case est toujours la n°0, ensuite la 1, la 2, etc.
Commentaire(s)
Aucun.