Я нуб с as3 и пытаюсь учиться.
Это то, чего я не могу понять. У меня очень простой XML:
<?xml version="1.0" encoding="utf-8"?>
<SLIDES>
<IMAGE>01.jpg</IMAGE>
<IMAGE>02.jpg</IMAGE>
<IMAGE>03.jpg</IMAGE>
<IMAGE>04.jpg</IMAGE>
<IMAGE>05.jpg</IMAGE>
</SLIDES>
что я разбираю вот так:
private function loadXML(filename:String):void {
var myXML:XML;
var myLoader:URLLoader = new URLLoader();
myLoader.load(new URLRequest(filename+".xml"));
myLoader.addEventListener(Event.COMPLETE, processXML);
function processXML(e:Event):void {
myXML = new XML(e.target.data);
myXML.ignoreWhite=true;
for (var i:int = 0; i < myXML.IMAGE.length(); i++) {
imagesURLs.push(myXML.IMAGE[i]);
trace(myXML.IMAGE[i]);
}
}
for each (var imageURL:String in imagesURLs) {
trace(imageURL);
}
}
Возвращает первый след:
01.jpg
02.jpg
03.jpg
04.jpg
05.jpg
Пока второе пусто! Зачем? Я действительно начинаю сходить с ума. Я также попробовал:
myXML.IMAGE[i].toXMLString()
Без удачи. Не могли бы вы помочь мне и заставить меня понять, почему это происходит?
Спасибо.
приписка
Функция вызывается с именем файла, которое мне нужно проанализировать, и массив объявляется так:
public var imagesURLs:Array = [];
Я использую последнюю версию FLEX с flashDevelop