Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/03/2014, 08:54
rafex
 
Fecha de Ingreso: septiembre-2003
Mensajes: 251
Antigüedad: 20 años, 7 meses
Puntos: 0
Pregunta leer XML en as2 por el nombre de nodo

Hola foro, mi duda tengo una bbdd mysql, mediante un script php creo un XML de esa bbdd hasta ahi todo bien. En flash usando as2 leo el XML sin problemas pero ... como puedo hacer para referirme a un nodo x por su nombre y no por el numero de posicion de tiene el nodo??

haber, mi bbdd tiene la siguiente estructura:
id | pais | poblacion | extension | observacion

cuando ejecuto el scrip php el XML se crea asi:

<?xml version="1.0" encoding="utf-8"?>
<sociales>
<depto>
<id>1</id>
<pais>Francia</pais>
<poblacion>131</poblacion>
<extension>144</extension>
<observacion>se encuentra en europa</observacion>
</depto>
</sociales>

y cuando leo el XML desde flash usando as2 hago lo siguiente:

XMLdemografia = new XML();
XMLdemografia.ignoreWhite = true;
XMLdemografia.onLoad = function (leido){
if (leido){
num_elementos = XMLdemografia.firstChild.childNodes.length;
imporexpor();
}
else{ trace("No se puede leer el XML"); }
}
XMLdemografia.load("infoeconomica.xml");


function imporexpor(){
for(i=0;i<num_elementos;i++){
//leo la primera fila del XML
fila = XMLdemografia.firstChild.childNodes[i];
// recupero el dato del nodo poblacion posicion 2
valorpoblacion = valorpoblacion + fila.childNodes[2].firstChild.nodeValue;
// recupero el dato del nodo extension posicion 3
valorextension = valorextension + fila.childNodes[3].firstChild.nodeValue;
}
}

es decir debo saber (contar) en q posición esta ese nodo y si me equivoco o elimino algun nodo desde la base de datos pues todo se descontinuara, entonces:

es posible hacer algo como:

valorpoblacion = valorpoblacion + fila.childNodes[poblacion].firstChild.nodeValue;

espero su colaboracion

gracias