Actionscript 2: Recorrer elementos de un objeto

Actionscript 2: Recorrer elementos de un objeto

Etiquetas: XML ignoreWhite childNodes firstChild

Este código sirve para recorrer todos los elementos de un objeto. Por ejemplo, recorrer todos los elementos de todos los niveles de una pelicula, o todos los nodos de un XML. La base es:

  1.  
  2. function RecorreInstancias(clip:MovieClip){
  3. 	for(a in clip){
  4. 		trace(clip[a]);
  5. 		RecorreInstancias(clip[a]);
  6. 	}
  7. }
  8. RecorreInstancias(_root);
  9.  

Por ejemplo, si quisieramos imprimir en pantalla los nombres de todos los nodos de un XML:

  1.  
  2. function CargarXML(){
  3.         recXml = new XML();
  4.         recXml.ignoreWhite = true;
  5.         recXml.onLoad = function(exito){
  6.                 if(exito){
  7.                         Recorrer(this.firstChild);
  8.                 }else{
  9.                         trace("Error al cargar");
  10.                 }
  11.         }
  12.         recXml.load("url del XML");
  13. }
  14.  
  15.  
  16. function Recorrer(xml){
  17.         for(var a in xml.childNodes){
  18.                 Recorrer(xml.childNodes[a]);
  19.                 trace(xml.childNodes[a].nodeName);
  20.         }
  21. }
  22.  
  23. CargarXML();
  24.