se me presenta un problema al querer cargar los datos obtenidos de un xml cuando lo quiero introducir en una matriz... todo esto es dentro de la siguiente clase...

en la definicion de propiedades tengo:
private var obj_xml:XML;
private var items:Array;

en el constructor de la clase tengo:
items = new Array( );
obj_xml = new XML();
obj_xml.ignoreWhite = true;


public function cargarXml() {
//obtenemos la ruta al archivo xml
var ruta = this.rootpath add this.path add this.archivo add this.idioma add this.extension;

obj_xml.onLoad = leerXML();
obj_xml.load(ruta);
}

private function leerXML(){
var doc = obj_xml.firstChild;
var cant_items:Number = doc.childNodes.length;
trace (items.length);
for (var i:Number = 0 ; i < cant_items ; i++){
items.push( {indice:obj_xml.firstChild.childNodes[i].attributes.name, valor:obj_xml.firstChild.childNodes[i].firstChild.nodeValue} )
}
}

el problema pasa que siempre el array no se carga con los valores del xml... siendo que la lectura del xml se realiza correctamente...

estas mismas funciones puestas fuera de una clasefunciona correctamete... pero dentro de la clase no me carga e array

Gracias por su tiempo...