Dans un article précédent, je vous montrais comment charger un fichier XML en ActionScript. A présent, on va voir comment récupérer les valeurs des attributs du fichier XML. On repart donc de ce fichier :

<?xml version="1.0" encoding="utf-8"?>
<diaporama>
<langue nom="fr">
<image nom="image1.png" description="Ma premiere image" />
<image nom="image2.png" description="Ma seconde image" />
<image nom="image3.png" description="Ma troisieme image" />
</langue>
<langue nom="en">
<image nom="image1.png" description="My first image" />
</langue>
</diaporama>

Comment se structure ce fichier en as2 ?

function XMLLoader( XMLPath:String ):Void {
donnees_xml.load( XMLPath ) ;
donnees_xml.onLoad = function( success:Boolean ) {
if ( success ) {
noeuds = this.firstChild.childNodes ;
nbImages = noeuds[0].childNodes.length ;

trace( this + "n" ) ;
trace( this.firstChild + "n" ) ;
trace( noeuds + "n" ) ;

for ( var i:Number = 0 ; i < nbImages ; i++ ) {
arrNom[ i ] = noeuds[0].childNodes[i].attributes.nom ;
trace( arrNom[ i ] ) ;
arrDescription[ i ] = noeuds[0].childNodes[i].attributes.description ;
trace( arrDescription[ i ] ) ;
}
nextFrame( ) ;
}
}
}

Les trace dans le code ActionScript devraient vous donner le résultat suivant :

<?xml version="1.0" encoding="utf-8"?><diaporama><langue nom="fr"><image nom="image1.png" description="Ma premiere image" /><image nom="image2.png" description="Ma seconde image" /><image nom="image3.png" description="Ma troisieme image" /></langue><langue nom="en"><image nom="image1.png" description="My first image" /></langue></diaporama>

<diaporama><langue nom="fr"><image nom="image1.png" description="Ma premiere image" /><image nom="image2.png" description="Ma seconde image" /><image nom="image3.png" description="Ma troisieme image" /></langue><langue nom="en"><image nom="image1.png" description="My first image" /></langue></diaporama>

<langue nom="fr"><image nom="image1.png" description="Ma premiere image" /><image nom="image2.png" description="Ma seconde image" /><image nom="image3.png" description="Ma troisieme image" /></langue>,<langue nom="en"><image nom="image1.png" description="My first image" /></langue>

image1.png
Ma premiere image
image2.png
Ma seconde image
image3.png
Ma troisieme image

Les attributs des lignes XML peuvent être atteintes grâce à attributes, la syntaxe est une syntaxe pointée. Avec les attributs, ajouter des lignes ne pose pas de problème quand à la structure de la page, mais les attributs ne sont pas adaptés pour les textes longs, nous y reviendrons une prochaine fois.

A voir aussi :

Quelques articles au hasard

Plus de liens