un bout de code d'une class as3 d'une gallerie photo que j'ai faite à mes début AS3 :
var xmlNs:Namespace = new Namespace("http://www.w3.org/XML/1998/namespace");
default xml namespace = xmlNs;
var urlRequest:URLRequest = new URLRequest("admin/photolist.xml");
urlLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, !onload!ingXMLComplete);
urlLoader.load(urlRequest);
function !onload!ingXMLComplete(e:Event):void
{
//load xml
xmlData = new XML(urlLoader.data);
urlLoader.removeEventListener(Event.COMPLETE, !onload!ingXMLComplete);
var i:int = 0;
var xmlCat:XML;
var titre:String;
var id:int;
var xmlPhoto:XML;
//make some array with the xml
for each (xmlCat in xmlData.cat)
{
if( xmlCat.attribute("name") != "Nouvelle catégorie" && xmlCat.attribute("id") != "_0_")
//if it's not a new cat or the dropbox, build the link
{
titre = xmlCat.attribute("name");
id = xmlCat.attribute("id").slice(1, xmlCat.attribute("id").length -1);
var photoList:Array = new Array();
for each ( xmlPhoto in xmlCat.photo )
{
if( xmlPhoto.toString() != "images/dropbox.jpg" )
{
//trace( xmlPhoto.toString() );
photoList.push( [new URLRequest( "admin/"+ xmlPhoto.toString() ), int(xmlPhoto.attribute("width")), xmlPhoto.attribute("height")] );
}
}
if(photoList[0]) //if photo url are present :
{
catList.push([false, titre, photoList]);
}
}
}
à la fin tu as un tableau avec les infos des photos dedans, à toi de le modifier en conséquence
voici le xml écourté :
<?xml version="1.0" encoding="utf-8"?>
<appli><cat xml:id="_0_"><photo xml:id="_0_1_dropbox_">images/dropbox.jpg</photo></cat><cat xml:id="_4_" xml:name="salut"><photo xml:id="_4_1_special_">images/dropbox.jpg</photo><photo xml:id="_4_2_special_">images/dropbox.jpg</photo><photo xml:id="_4_3_special_">images/dropbox.jpg</photo><photo xml:id="_4_4_dropbox_">images/dropbox.jpg</photo></cat></appli>