Translate

Mostrando las entradas con la etiqueta E4X. Mostrar todas las entradas
Mostrando las entradas con la etiqueta E4X. Mostrar todas las entradas

jueves, 16 de julio de 2009

ECMAScript for XML (E4X)

Bueno, Me encontraba leyendo un manual de actionscript y decía que implementa E4X, si , si , soy informático y me encantan las siglas pero que es E4X? Leyendo http://en.wikipedia.org/wiki/ECMAScript_for_XML supe que es un lenguaje que permite que un archivo xml sea soportado como un tipo más del lenguaje.

ActionScript implementa este lenguaje y permite hacer cosas como estas:

Crear un xml:

var empleado:XML = <empleado> </empleado>;
empleado.nombre = "Pedro";
empleado.apellido = "Godoy";
empleado.@id = 234;

var otroEmpleado:XML = <empleado> </empleado>;
otroEmpleado.nombre = "Andres";
otroEmpleado.apellido = "Godoy";
otroEmpleado.@id = 224;

var empleados:XML = <empleados> </empleados>;;
empleados.appendChild(empleado);
empleados.appendChild(otroEmpleado);

ejemploText.text = empleados.toXMLString();

Y la salida va a ser esto:

<empleados>
<empleado id="234">
<nombre>Pedro</nombre>
<apellido>Godoy</apellido>
</empleado>
<empleado id="224">
<nombre>Andres</nombre>
<apellido>Godoy</apellido>
</empleado>
</empleados>

Para recorrer un xml se podria hacer algo así:

var orden: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>;
ejemploText.text = "Imprime el precio del item 1 \n";
ejemploText.text += orden.item.(@id == 1).price;
ejemploText.text += " \n \n ";
ejemploText.text += "Imprime los items id < 3 \n"; ejemploText.text += orden.item.(@id < 3).toXMLString();

Como ven el @ permite acceder a los atributos de un tag y con el . puedo acceder a elementos del xml.

Que Grande E4X !!!!!!