no puedo! sigo con la gran duda, no se como crear un array nuevo
Miren, leo un xml, tiene 3 nodos, cada nodo tiene N noditos

, bueno nodos hijos, jeje
este xml sedebera incrementar despues asi es que en base a los nodos quitados o agregados es la cantidad de nuevos arrays creados
Código ActionScript :
var tema:String = new String();
var rutaFoto:String = './pics/';
var numFotos:Number = (undefined) ? 0 : misFotos.length;
var intervalo:Number;
var xmlObj:XML = new XML();
xmlObj.ignoreWhite = true;
var misFotos:Array = new Array();
var headerProds:Array = new Array(); // Clases de productos
// var array product_N --> se crea en bucle, trae un identificador en el xml
// PASO 3: guarda productos en arrays nuevos
function arrayXML (param, matriz:Array, paramTema,paramRuta) // (st, dtxt )
{
var myxmlNode = param;
trace ('ESTE PRODUCTO tiene ' + myxmlNode.length + ' nodos')
for (p=0; p<myxmlNode.length; p++)
{
var prod_node = myxmlNode[p].attributes.img;
var prod_attribs:Object = new Object({prod_id:prod_node.attributes.id,
prod_img:prod_node.attributes.img
});
/*
matriz.push({id:myxmlNode[i].attributes.id, img:myxmlNode[i].attributes.img});
}*/
trace (matriz + ' -------------> prod ' + p + ': ' + prod_node);
matriz[p] = prod_attribs;
// ERROR!
//
//
// ARRAYS NUEVOS CREADOS... ¡¡¡¡¿¿¿¿COMO???!!!!
/*var newMatriz = matriz;
matriz = new Array();
matriz.push(prod_attribs);*/
}
//
//
//
tema = paramTema;
ruta = paramRuta;
trace ('>> function arrayXML (...) ============= ' + tema + ' (' + ruta + ')');
trace ('MATRIZ CREADA: '+matriz);
trace (matriz.join());
/*for (var h in matriz)
trace (matriz[h].id+', '+matriz[h].img);*/
}
// PASO 2: carga xml
function cargaXML():Void
{
// Para archivos txt externos NO codificados como Unicode, System.useCodepage, true.
System.useCodepage = false; // xml tiene codificacion utf-8 (mejor para internacional)
trace("cargaXML intervalo: " + intervalo + " xml encoding file (utf-8): " + System.useCodepage);
// Carga swf completa!, a cargar xml...
xmlObj.onLoad = function(success) {
if (!success)
{
trace("error");
return;
}
else
{
// headers : CLASE DE PRODUCTOS
var hdr_totalProds:Number = this.firstChild.childNodes.length;
for (var h=0; h<hdr_totalProds; h++)
{
// <arbol id="Galeria VA - Joyeria" ruta="./joyeria/" reg="Gabriela N" iLogo="N">
var hdr_node = this.firstChild.childNodes[h];
var hdr_attribs:Object = new Object({id:hdr_node.attributes.id,
ruta:hdr_node.attributes.ruta,
reg:hdr_node.attributes.reg,
logo:hdr_node.attributes.iLogo,
prod:'product_'+h
});
trace('XML: ' + hdr_totalProds + ' nodos ======================= tema/'+this.firstChild.childNodes[h].nodeName+': ' + h);
for (var hz in hdr_attribs)
trace ('\t' + hz + ': ' + hdr_attribs[hz]);
headerProds.push(hdr_attribs); // creando array de CLASES DE PRODUCTOS
// product_N : A METER PRODUCTOS EN C/CLASE (registro creado en hdr_attribs)
trace ('PRDOCUTOS, guardados en --> ' + headerProds[h].prod);
arrayXML(this.firstChild.childNodes[h].childNodes, headerProds[h].prod, headerProds[h].id, headerProds[h].ruta);
} // end for hz
// ...luego
clearInterval(intervalo);
// play();
}
};
// Load XML en xmlObj object.
if (encoding == undefined) { encoding = "xml_iso_8859_1"; }
xmlObj.load('vaxpo.xml'); //(encoding + ".xml");
}
// PASO 1: precarga swf
var preloader:MovieClip = _root.attachMovie('preloader', 'preloader_mc', 5000);
var inicia:Number = 0;
// trace ('HOLA '+preloader);
this.onEnterFrame = function() {
preloader._x = Stage.width/2;
preloader._y = Stage.height/2;
if (this.getBytesLoaded() == this.getBytesTotal()) {
inicia++;
// trace (inicia);
if (inicia>30)
{
// trace ('ADIOS '+preloader);
preloader.removeMovieClip();
delete this.onEnterFrame;
// SWF cargado, inicia carga de XML
intervalo = setInterval(this, "cargaXML", 1000);
}
}
};
el xml algo asi
Código :
<total id="Galeria VA">
<arbol id="Galeria VA - Joyeria" ruta="./joyeria/" reg="Gaby" iLogo="gabsanch">
<item id="Joyería" img="IMG_5443.jpg" />
<item id="Joyería" img="IMG_5450.jpg" />
<item id="Joyería" img="IMG_5471.jpg" />
<item id="Joyería" img="IMG_5488.jpg" />
<item id="Joyería" img="IMG_5499.jpg" />
<item id="Joyería" img="IMG_5503.jpg" />
<item id="Joyería" img="IMG_5513.jpg" />
<item id="Joyería" img="IMG_5526.jpg" />
<item id="Joyería" img="IMG_5526a.jpg" />
<item id="Joyería" img="IMG_5562.jpg" />
</arbol>
<arbol id="Galeria VA - Licor de Café" ruta="./cafe/" reg="Buenlicor" iLogo="licdcafe">
<item id="Licor de café" img="IMG_6775.jpg" />
<item id="Licor de café" img="IMG_6818.jpg" />
<item id="Licor de café" img="IMG_6828.jpg" />
<item id="Licor de café" img="IMG_6861.jpg" />
<item id="Licor de café" img="IMG_6914.jpg" />
</arbol>
<arbol id="Galeria VA - Dulcería" ruta="./dulces/" reg="Algo" iLogo="confiter">
<item id="Palanquetas" img="IMG_8768.jpg" />
<item id="Palanquetas" img="IMG_8820.jpg" />
<item id="Palanquetas" img="IMG_8852.jpg" />
<item id="Palanquetas" img="IMG_8877.jpg" />
<item id="Palanquetas" img="IMG_8882.jpg" />
<item id="Palanquetas" img="IMG_8894.jpg" />
<item id="Palanquetas" img="IMG_8928.jpg" />
<item id="Palanquetas" img="IMG_8936.jpg" />
<item id="Palanquetas" img="IMG_8937.jpg" />
<item id="Palanquetas" img="IMG_8994.jpg" />
</arbol>
</total>
Entonces.... estoy metiendo en un array inicialmente declarado
var headerProds:Array = new Array();
el nodo 0, 1 y 2
pero cada nodo de estos requiere un array nuevo con todos sus elementeos
A lo mejor me estoy complicando, me peuden dar soluciones por favzzz
Salu2!