Se puede asignar un literal XML a un objeto XML de la manera siguiente:
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>
Como se indica en el siguiente fragmento de código, también se puede utilizar el constructor
new
para crear una instancia de un objeto XML de una cadena que contiene datos XML:
var str:String = "<order><item id='1'><menuName>burger</menuName>"
+ "<price>3.95</price></item></order>";
var myXML:XML = new XML(str);
Si los datos XML de la cadena no están bien formados (por ejemplo, si falta una etiqueta final), aparecerá un error en tiempo de ejecución.
También se puede pasar datos por referencia (desde otras variables) a un objeto XML, como se indica en el siguiente ejemplo:
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>
Para cargar datos XML desde una dirección URL hay que utilizar la clase URLLoader, como se indica en el siguiente ejemplo:
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!");
}
}
Para leer datos XML desde una conexión de socket hay que utilizar la clase XMLSocket. Para obtener más información, consulte la clase
XMLSocket
en
Referencia de ActionScript 3.0 para la plataforma de Adobe Flash
.