Нужно последовательно заполнить несколько XML объектов, если заранее известны пути к каждому из них. Пока использую для этого такой алгоритм:

Код AS3:
CI=0; //переменная которая хранит номер текущего хмл
buildXML(aXMLpath[CI]);// где aXMLpath = [“path1","path2",..,”pathN”];- массив с адресами каждого из хмл.
function buildXML(path:String):void{
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.TEXT;
loader.addEventListener (Event.COMPLETE, xmlLoader);
loader.load(new URLRequest(path));
}
function xmlLoader(event:Event):void{
var xmlObj = [aXMLname[CI]];// где aXMLname = [xml1,xml2,..,xml3]; - массив с сылками на каждый хмл-объект
xmlObj = new XML(event.target.data);
switch(CI){//дальнейшая работа с заполненным хмл-обектом
case 0: //code1
case 1: //code2
//и т.д.
}
if(++CI<aXMLpath.length) buildXML(aXMLpath[CI]);//если еще заполнены не все хмл
}
Т.е. сначала вызывается загрузка хмл для 1-ого объекта. Потом с помощью переменной CI выбирается соответствующий хмл-объект из массива aXMLname. Потом выполняется необходимые действия (для каждого свои). Потом значение CI сравнивается с количеством хмл-обектов, и если оно меньше операция повторяется.
Подскажите пожалуйста, как решить эту задачу более грамотно. Например, чтобы алгоритм имел вид

Код AS3:
for(var i:int=0;i< aXMLpath.length;i++){
buildXML(i);
}
function buildXML(num:int){
var xmlObj = [aXMLname[num]];
xmlObj = new XML(get_xml(aXMLpath[num]));
switch(num){
case 0: //code1
case 1: //code2
//и т.д.
}
}
function get_xml(path:String):String
{
//Загрузить хмл в xmlData
return xmlData.toString();
}
Ну или еще как-нибудь
