Gérer le XML dans Flash
CHAPITRE 13
319
Les paramètres de ces trois méthodes peuvent être très divers. Pour ajouter un nœud, une
astuce consiste à copier l’un des nœuds existants pour conserver sa structure. Il ne reste
plus alors qu’à modifier les valeurs des différents nœuds enfants et des attributs du nœud
copié. Dans l’exemple suivant, nous copions le premier nœud de l’arborescence à la fin
de l’instance XML.
fichierXML.appendChild(fichierXML.Film[0]);
Un seul paramètre est nécessaire : il est inutile de spécifier l’emplacement où le nœud
doit être ajouté dans l’arborescence ; la méthode appendChild() l’ajoute automatiquement
après le dernier nœud. Il faudrait ensuite changer les valeurs des nœuds enfants :
fichierXML.Film[2].@nom = "Le père noël est une ordure";
fichierXML.Film[2].Realisateur = "Jean-Marie POIRÉ";
fichierXML.Film[2].ActeurPrincipal ="Gérard Jugnot";
fichierXML.Film[2].ActeurPrincipal.@sexe ="F";
fichierXML.Film[2].Annee="1982";
fichierXML.Film[2].Genre = "Comédie";
fichierXML.Film[2].Pays="France";
Pour les méthodes insertChildAfter() ou insertChildBefore(), il est nécessaire de
préciser deux paramètres. Le deuxième correspond ni plus ni moins à celui que nous
venons de voir dans l’exemple précédent, alors que le premier doit spécifier un emplacement. Ainsi, les lignes d’instructions ci-dessous font référence au premier nœud de
l’instance XML.
fichierXML.insertChildBefore(fichierXML.Film[0],fichierXML.Film[0]);
fichierXML.insertChildAfter(fichierXML.Film[1],fichierXML.Film[0]);
Connaître le nom d’une balise
Comme nous l’avons déjà évoqué, la fonction toXMLString() est chargée d’afficher les
balises XML autour de la valeur d’un nœud.
zoneAffichage.text = fichierXML.Film[1].Realisateur.toXMLString();
Nous obtenons l’affichage ci-dessous en utilisant le fichier cinema.xml.
Il existe également une autre fonction, plus précise, qui renvoie uniquement le nom de la
balise. C’est cette dernière que vous devrez utiliser pour connaître le nom d’une balise.
zoneAffichage.text = fichierXML.Film[1].Realisateur.localName();
Nous obtenons l’affichage ci-dessous :
Steven SODERBERGH
Realisateur
CHAPITRE 13
319
Les paramètres de ces trois méthodes peuvent être très divers. Pour ajouter un nœud, une
astuce consiste à copier l’un des nœuds existants pour conserver sa structure. Il ne reste
plus alors qu’à modifier les valeurs des différents nœuds enfants et des attributs du nœud
copié. Dans l’exemple suivant, nous copions le premier nœud de l’arborescence à la fin
de l’instance XML.
fichierXML.appendChild(fichierXML.Film[0]);
Un seul paramètre est nécessaire : il est inutile de spécifier l’emplacement où le nœud
doit être ajouté dans l’arborescence ; la méthode appendChild() l’ajoute automatiquement
après le dernier nœud. Il faudrait ensuite changer les valeurs des nœuds enfants :
fichierXML.Film[2].@nom = "Le père noël est une ordure";
fichierXML.Film[2].Realisateur = "Jean-Marie POIRÉ";
fichierXML.Film[2].ActeurPrincipal ="Gérard Jugnot";
fichierXML.Film[2].ActeurPrincipal.@sexe ="F";
fichierXML.Film[2].Annee="1982";
fichierXML.Film[2].Genre = "Comédie";
fichierXML.Film[2].Pays="France";
Pour les méthodes insertChildAfter() ou insertChildBefore(), il est nécessaire de
préciser deux paramètres. Le deuxième correspond ni plus ni moins à celui que nous
venons de voir dans l’exemple précédent, alors que le premier doit spécifier un emplacement. Ainsi, les lignes d’instructions ci-dessous font référence au premier nœud de
l’instance XML.
fichierXML.insertChildBefore(fichierXML.Film[0],fichierXML.Film[0]);
fichierXML.insertChildAfter(fichierXML.Film[1],fichierXML.Film[0]);
Connaître le nom d’une balise
Comme nous l’avons déjà évoqué, la fonction toXMLString() est chargée d’afficher les
balises XML autour de la valeur d’un nœud.
zoneAffichage.text = fichierXML.Film[1].Realisateur.toXMLString();
Nous obtenons l’affichage ci-dessous en utilisant le fichier cinema.xml.
Il existe également une autre fonction, plus précise, qui renvoie uniquement le nom de la
balise. C’est cette dernière que vous devrez utiliser pour connaître le nom d’une balise.
zoneAffichage.text = fichierXML.Film[1].Realisateur.localName();
Nous obtenons l’affichage ci-dessous :
Realisateur
