Comunidad de diseño web y desarrollo en internet online

problema al obtener numero de nodos XML con length

Citar            
MensajeEscrito el 10 Oct 2010 08:49 pm
Hola a todos:

Espero que puedan ayudarme con este problema que no logro comprender al trabajar un documento XML con actionscript 2.0.

El problema es que en actionscript al tratar de obtener el numero de elementos con length, me da elementos de mas, dentro del primer nodo que es <familia></familia> tengo 5 nodos hijo<miembro></miembro> en actionscript me da 11.

trasteando un poco mas, me percate de que al parecer esta contando como dos cada nodo, ya que el resultado navegando por el supuesto numero de nodos me da algo así.

this.firstChild.childNodes.length[0]
resultado : no devuelve nada
this.firstChild.childNodes.length[1]

Código XML :

<miembros> 
      <idMiem>1</idMiem> 
      <idFam>1</idFam> 
      <generacion>0</generacion> 
      <nombre>Pedro Gonzalez</nombre> 
      <especie>h</especie> 
      <genero>h</genero> 
      <nacimiento>1980-08-28</nacimiento> 
      <edad>30</edad> 
   </miembros> 

this.firstChild.childNodes.length[2]
resultado : no devuelve nada
this.firstChild.childNodes.length[3]

Código XML :

<miembros> 
      <idMiem>10</idMiem> 
      <idFam>1</idFam> 
      <generacion>-1</generacion> 
      <nombre>JuanPedro</nombre> 
      <especie>a</especie> 
      <genero>h</genero> 
      <nacimiento>1979-06-18</nacimiento> 
      <edad>31</edad> 

y así... uno si y otro no...
¿Que es lo que estoy haciendo mal?

Posteo los dos códigos:

Código XML :

<familia> 
   <miembros> 
      <idMiem>1</idMiem> 
      <idFam>1</idFam> 
      <generacion>0</generacion> 
      <nombre>Pedro Gonzalez</nombre> 
      <especie>h</especie> 
      <genero>h</genero> 
      <nacimiento>1980-08-28</nacimiento> 
      <edad>30</edad> 
   </miembros> 
   <miembros> 
      <idMiem>10</idMiem> 
      <idFam>1</idFam> 
      <generacion>-1</generacion> 
      <nombre>JuanPedro</nombre> 
      <especie>a</especie> 
      <genero>h</genero> 
      <nacimiento>1979-06-18</nacimiento> 
      <edad>31</edad> 
   </miembros> 
   <miembros> 
      <idMiem>11</idMiem> 
      <idFam>1</idFam> 
      <generacion>3</generacion> 
      <nombre>Juana</nombre> 
      <especie>h</especie> 
      <genero>m</genero> 
      <nacimiento>1980-08-28</nacimiento> 
      <edad>30</edad> 
   </miembros> 
   <miembros> 
      <idMiem>9</idMiem> 
      <idFam>1</idFam> 
      <generacion>-2</generacion> 
      <nombre>Juanacatlan</nombre> 
      <especie>h</especie> 
      <genero>m</genero> 
      <nacimiento>1962-08-28</nacimiento> 
      <edad>48</edad> 
   </miembros> 
   <miembros> 
      <idMiem>12</idMiem> 
      <idFam>1</idFam> 
      <generacion>-3</generacion> 
      <nombre>Juan</nombre> 
      <especie>a</especie> 
      <genero>m</genero> 
      <nacimiento>1980-08-28</nacimiento> 
      <edad>30</edad> 
   </miembros> 
</familia> 


Y el código ActioScript es:

Código ActionScript :

var data_xml = new XML();
      data_xml.onLoad = function(success){
         if (success){
            trace(this.firstChild.childNodes.length);
         }
      }
      data_xml.load("?vista=procesa");   


Saludos cordiales a todos!

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

chrome
Citar            
MensajeEscrito el 10 Oct 2010 09:04 pm
Comentí un error en el ejemplo del post, el codigo ejemplo incorrecto es "this.firstChild.childNodes.length[0]" pero es sin length, como lo pongo a continuación.

paradojo escribió:


this.firstChild.childNodes[0]
resultado : no devuelve nada
this.firstChild.childNodes[1]

Código XML :

<miembros> 
      <idMiem>1</idMiem> 
      <idFam>1</idFam> 
      <generacion>0</generacion> 
      <nombre>Pedro Gonzalez</nombre> 
      <especie>h</especie> 
      <genero>h</genero> 
      <nacimiento>1980-08-28</nacimiento> 
      <edad>30</edad> 
   </miembros> 

this.firstChild.childNodes[2]
resultado : no devuelve nada
this.firstChild.childNodes[3]

Código XML :

<miembros> 
      <idMiem>10</idMiem> 
      <idFam>1</idFam> 
      <generacion>-1</generacion> 
      <nombre>JuanPedro</nombre> 
      <especie>a</especie> 
      <genero>h</genero> 
      <nacimiento>1979-06-18</nacimiento> 
      <edad>31</edad> 

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

chrome
Citar            
MensajeEscrito el 10 Oct 2010 09:52 pm
ASunto resuelto con ignoreWhite:

Código ActionScript :

      var data_xml = new XML(); 
     data_xml,ignoreWhite = true; //ignora los nodos en blanco

      data_xml.onLoad = function(success){ 
         if (success){ 
            trace(this.firstChild.childNodes.length); // = 5
         } 
      } 
      data_xml.load("?vista=procesa");    


Bueno, espero que le sirva a alguien.

Saludos!!

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

chrome

 

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