Initialisation de variables XML

Flash Player 9 et les versions ultérieures, Adobe AIR 1.0 et les versions ultérieures

Vous pouvez affecter un littéral XML à un objet XML, comme suit :

var myXML:XML =  
    <order> 
        <item id='1'> 
            <menuName>burger</menuName> 
            <price>3.95</price> 
        </item> 
        <item id='2'> 
            <menuName>fries</menuName> 
            <price>1.45</price> 
        </item> 
    </order>

Comme indiqué dans le code suivant, vous pouvez également utiliser le constructeur new pour créer une occurrence d’un objet XML à partir d’une chaîne contenant des données XML :

var str:String = "<order><item id='1'><menuName>burger</menuName>" 
                            + "<price>3.95</price></item></order>"; 
var myXML:XML = new XML(str);

Si les données XML dans la chaîne ne sont pas bien formées (par exemple, s’il manque une balise de fin), une erreur d’exécution se produit.

Vous pouvez également transmettre des données par référence (à partir d’autres variables) dans un objet XML, comme indiqué dans l’exemple suivant :

var tagname:String = "item";  
var attributename:String = "id";  
var attributevalue:String = "5";  
var content:String = "Chicken";  
var x:XML = <{tagname} {attributename}={attributevalue}>{content}</{tagname}>;  
trace(x.toXMLString()) 
    // Output: <item id="5">Chicken</item>

Pour charger des données XML depuis une URL, utilisez la classe URLLoader, comme indiqué dans l’exemple suivant :

import flash.events.Event; 
import flash.net.URLLoader; 
import flash.net.URLRequest; 
 
var externalXML:XML; 
var loader:URLLoader = new URLLoader(); 
var request:URLRequest = new URLRequest("xmlFile.xml"); 
loader.load(request); 
loader.addEventListener(Event.COMPLETE, onComplete); 
 
function onComplete(event:Event):void 
{ 
    var loader:URLLoader = event.target as URLLoader; 
    if (loader != null) 
    { 
        externalXML = new XML(loader.data); 
        trace(externalXML.toXMLString()); 
    } 
    else 
    { 
        trace("loader is not a URLLoader!"); 
    } 
}

Pour lire des données XML depuis une connexion de socket, utilisez la classe XMLSocket . Pour plus d’informations, voir la classe XMLSocket dans le manuel Guide de référence ActionScript 3.0 pour la plate-forme Adobe Flash .