Comunidad de diseño web y desarrollo en internet online

NO puedo capturar el numero de nodo

Citar            
MensajeEscrito el 14 Sep 2006 11:07 pm
Hola, tengo una duda sobre la captura del numero de nodo. Le pongo un condicional pero no me hace caso, no lo respeta.

Este es mi codigo


Código :

var obj:XML = new XML ();
obj.ignoreWhite = true;
obj.load("menu_flash-es.xml");
indice=0;

obj.onLoad = function() {
     
      cargarDatos(indice);
};




 peru.onRelease = function(){
      
      paix="Perú";
    cargarDatos(paix);

    }
    
     argentina.onRelease = function(){
      paix="Argentina";  
       cargarDatos(paix);

    }//cierra argentina
    
    
      chile.onRelease = function(){
      
      paix="Chile";
      cargarDatos(paix);


    }
      

 function cargarDatos(_pais:String) {
        
      m=obj.firstChild.childNodes;
      for(var _indice=0; _indice<m.length;_indice++){
         
      if(m[_indice].firstChild.firstChild=_pais){
      
       if(m[_indice].firstChild.firstChild==null){pais.text="";} else {pais.text=m[_indice].firstChild.firstChild;}
      if(m[_indice].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.firstChild !=null) { nompais=_l1[_indice].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.firstChild;}
      if(m[_indice].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild !=null) { idioma=m[_indice].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild;}
      if(m[_indice].firstChild.nextSibling.firstChild==null){contacto.htmlText="";flecha1._alpha=0;} else {contacto.htmlText="<a href=\""+m[_indice].firstChild.nextSibling.attributes.url+"?idioma="+idioma+"&pais="+nompais+"\" target=\"_blank\">"+m[_indice].firstChild.nextSibling.firstChild+"</a>";
      flecha1._alpha=100;} 
      if(m[_indice].firstChild.nextSibling.nextSibling.firstChild==null){experiencia.text="";flecha2._alpha=0;} else{experiencia.htmlText="<a href=\""+m[_indice].firstChild.nextSibling.nextSibling.attributes.url+"?idioma="+idioma+"&pais="+nompais+"\" target=\"_blank\">"+m[_indice].firstChild.nextSibling.nextSibling.firstChild+"</a>";
      flecha2._alpha=100;}
      if(m[_indice].firstChild.nextSibling.nextSibling.nextSibling.firstChild==null){organizacion.text="";flecha3._alpha=0;} else{organizacion.htmlText="<a href=\""+m[_indice].firstChild.nextSibling.nextSibling.nextSibling.attributes.url+"?idioma="+idioma+"&pais="+nompais+"\" target=\"_blank\">"+m[_indice].firstChild.nextSibling.nextSibling.nextSibling.firstChild+"</a>";
      flecha3._alpha=100;}
      }
      
      }
      
}




Lo que hace es lo siguiente, cuando se presiona el boton del pais, la variable paix toma el valor que le corresponde y lo manda al metodo cargarDatos....al ingresar al metodo un for recorre todos los nodos y pregunta si alguno de ellos se llama como el nombre de la variable paix...si es asi entonces entra a la condicion e imprime en cajas de texto los datos.
El problema es que cuando le hago trace al indice me bota el numero del primer nodo, entonces no me esta recorriendo todos????? no pasa la condicion???? que puede estar pasando

Por shn

29 de clabLevel



Genero:Femenino  

msie
Citar            
MensajeEscrito el 15 Sep 2006 04:09 am
primer if
if(m[_indice].firstChild.firstChild=_pais){

es:
if(m[_indice].firstChild.firstChild==_pais){


Prueba si es eso, sino lo reviso con más cuidado. En tal caso de que no te sirva, si podrias poner el contenido del xml seria bueno :)

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 15 Sep 2006 04:16 am
Ya habia intentado colocarle "==", pero cuando hago eso ni si quierla condicion.Este es el xml :D

<?xml version="1.0" encoding="iso-8859-1" ?>
<cobertura_geografica>
<pais nombre ="peru">
<nombre>Perú</nombre>
<contacto url="responsable_organizacion.php">Contactos</contacto>
<experiencia url="experiencias.php">Experiencias</experiencia>
<organizacion url="miembro_cre.php">Organizaciones</organizacion>
<co_pais>14</co_pais>
<co_idioma>1</co_idioma>
</pais>
<pais>
<nombre>Argentina</nombre>
<contacto> </contacto>
<experiencia> </experiencia>
<organizacion url="miembro_cre.php">Organizaciones</organizacion>
<co_pais>15</co_pais>
<co_idioma>1</co_idioma>
</pais><pais>
<nombre>Chile</nombre>
<contacto> </contacto>
<experiencia> </experiencia>
<organizacion url="miembro_cre.php">Organizaciones</organizacion>
<co_pais>15</co_pais>
<co_idioma>1</co_idioma>
</pais>
</cobertura_geografica>

Por shn

29 de clabLevel



Genero:Femenino  

msie7
Citar            
MensajeEscrito el 15 Sep 2006 05:06 am
aqui te hice el recorrido en cargarDatos:

Código :

function cargarDatos(_pais:String) {

   if (obj.firstChild.hasChildNodes()) {
      len= obj.firstChild.childNodes.length;
      for (var i = 0 ; i<len ; i++){
         rNode= obj.firstChild.childNodes[i];
         for (var aNode = rNode.firstChild; aNode != null; aNode=aNode.nextSibling) {
            if (aNode.nodeType == 1) {
               trace(aNode.nodeName+":\t"+aNode.firstChild.nodeValue);
               trace("url: "+ aNode.attributes.url);
            }
         }
         trace("------------------------");
      }
   }
}


Ahora solo falta la condición :)

Una cosa más, abre el archivo xml en bloc de notas y le das guardar como..., debajo de donde le das el nombre dice Codificación, selecciona UTF-8 y guardas. Esto es porque te dará problemas si usas acentos ;)

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 18 Sep 2006 08:07 pm
Uyy, perfecto, muchas gracias Maikel

Por shn

29 de clabLevel



Genero:Femenino  

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.