ActionScript 3 – Programmation séquentielle et orientée objet
304
Pour les développeurs néophytes en AS3, cette syntaxe est assez troublante car seul le
caractère @ permet de faire la différence entre un nœud et un attribut. Il est vrai que si
nous omettons de saisir l’arobase, nous faisons alors référence au nom d’une balise,
c’est-à-dire au nom d’un nœud et non plus un attribut. Le risque d’erreur est donc important
lors de vos premiers développements.
Voici un exemple de script complet :
var fichierXML:XML;
var chargeurDonnees:URLLoader = new URLLoader();
var adresseFichierXML:URLRequest = new function onComplete(event:Event):void {
fichierXML = new XML(chargeurDonnees.data);
btAttribut.addEventListener(MouseEvent.CLICK,lireAttribut);
}
chargeurDonnees.load(adresseFichierXML);
chargeurDonnees.addEventListener(Event.COMPLETE, onComplete);
function lireAttribut (evt:Event):void {
zoneAffichage.text = fichierXML.Region[2].@nomhabitants;
}
Commentaires du script :
btAttribut est le nom d’une instance de clip ou de bouton sur la scène. zoneAffichage est
le nom d’un texte dynamique sur la scène.
Lire plusieurs attributs
Pour pouvoir lire tous les attributs d’une balise, vous pouvez utiliser la syntaxe suivante :
fichierXML.Region[2].attribute("*").toXMLString();
ou celle-ci :
fichierXML.Region[2].attributes().toXMLString();
Afin que cet exemple fonctionne, il faudrait changer le contenu du fichier XML fourni,
comme ceci :
Alsace
Aquitaine
304
Pour les développeurs néophytes en AS3, cette syntaxe est assez troublante car seul le
caractère @ permet de faire la différence entre un nœud et un attribut. Il est vrai que si
nous omettons de saisir l’arobase, nous faisons alors référence au nom d’une balise,
c’est-à-dire au nom d’un nœud et non plus un attribut. Le risque d’erreur est donc important
lors de vos premiers développements.
Voici un exemple de script complet :
var fichierXML:XML;
var chargeurDonnees:URLLoader = new URLLoader();
var adresseFichierXML:URLRequest = new function onComplete(event:Event):void {
fichierXML = new XML(chargeurDonnees.data);
btAttribut.addEventListener(MouseEvent.CLICK,lireAttribut);
}
chargeurDonnees.load(adresseFichierXML);
chargeurDonnees.addEventListener(Event.COMPLETE, onComplete);
function lireAttribut (evt:Event):void {
zoneAffichage.text = fichierXML.Region[2].@nomhabitants;
}
Commentaires du script :
btAttribut est le nom d’une instance de clip ou de bouton sur la scène. zoneAffichage est
le nom d’un texte dynamique sur la scène.
Lire plusieurs attributs
Pour pouvoir lire tous les attributs d’une balise, vous pouvez utiliser la syntaxe suivante :
fichierXML.Region[2].attribute("*").toXMLString();
ou celle-ci :
fichierXML.Region[2].attributes().toXMLString();
Afin que cet exemple fonctionne, il faudrait changer le contenu du fichier XML fourni,
comme ceci :
