Como recorrer un XML con Flash 8 Action Script 2


dataXML.onLoad = function () {
for (i=0; i<dataXML.firstChild.childNodes.length; i++){

VARzona = dataXML.firstChild.childNodes[i].childNodes[i].childNodes[i].attributes.ciudad;
trace(VARzona);

}

Aqui quiero copiar un super y simple codigo en AS2, para seguir guardando esa info que tal vez volvamos a necesitar. Se trata de recorrer un XML y con flash 8 (as2) o Cs4 Actions Script 2.

basicamente el codigo del AS, es el siguiente:

System.useCodepage=true;
dataXML = new XML();
dataXML.ignoreWhite = true;
dataXML.load(“data2.xml”);

dataXML.onLoad = function () {
for (i=0; i<dataXML.firstChild.childNodes.length; i++){

VARzona = dataXML.firstChild.childNodes[i].attributes.nombre;
trace(VARzona);

}

}

Detallare a continuacion el XML y algo del AS.

XML

<?xml version=”1.0″ encodfing=”iso-8859″?>
<lista>
<area nombre=”America Latina”>
<pais nombre=”Argentina”>
<representante ciudad=”bsas” nombre=”Diego” apellido=”Burgos” telefono=”321654″ email=”diego@controlz.com.ar”>
</representante>
<representante ciudad=”bsas” nombre=”Julieta” apellido=”Burgos” telefono=”321654″ email=”juli@controlz.com.ar”>
</representante>
<pais nombre=”Uruguay”>
<representante ciudad=”Montevideo” nombre=”Veronica” apellido=”Denevi” telefono=”321654″ email=”vero@controlz.com.ar”>
</representante>
<representante ciudad=”Montevideo” nombre=”Virginia” apellido=”Burgos” telefono=”321654″ email=”vir@controlz.com.ar”>
</representante>
</pais>
</area>
</lista>

AS2

System.useCodepage=true;
dataXML = new XML();
dataXML.ignoreWhite = true;
dataXML.load(“data2.xml”);

dataXML.onLoad = function () {
for (i=0; i<dataXML.firstChild.childNodes.length; i++){

VARzona = dataXML.firstChild.childNodes[i].attributes.nombre;
trace(VARzona);

}

//——————————————————————————

el Primer bloque de texto se encaga de crear un objeto XML y setear algunas cosas importantes como Write o el System.useCodepage… esteultimo sirve para poder ver “acentros”.  Luego se setea el loader, donde se le pasa el XML a Cargar y por ultimo el evento que se generara en el momento de cargarlo.

Alli vamos al segundo bloque, el evento que se genera es un For, que recorre todo el XML. donde firsChild es el primer nivel del XML, es childNodes, corresponde al 2do nivel (o hijo del padre) y por ultimo los length…

Luego igualamos por ejemplo, una variable al atributo nombre del hijo del padre… por eso usamos. (dataXML (seria el documento xml).firstChild (seria el padre o primer nivel).childNodes[i] (seria el hijo o 2do nivel) y dentro de este nivel busca el atributo nombre.

por esta razon el trace devuelve:  America Latina

 

 

Ejemplo del bucle para  Buscar la Ciudad de Bs As.

dataXML.onLoad = function () {
for (i=0; i<dataXML.firstChild.childNodes.length; i++){

VARzona = dataXML.firstChild.childNodes[i].childNodes[i].childNodes[i].attributes.ciudad;
trace(VARzona);

}

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: