私は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
2番目が空の間!なんで?私は本当に心を失い始めています。私も試しました:
myXML.IMAGE[i].toXMLString()
運がない。私を助けて、なぜこれが起こるのか私を理解させてくれませんか?
ありがとうございました。
ps
関数は解析する必要のあるファイル名で呼び出され、配列は次のように宣言されます。
public var imagesURLs:Array = [];
flashDevelopで最新バージョンのFLEXを使用しています