我使用此代碼加載XML IM閃存:AS3將XML解析爲多維數組?
示例XML文件:
<playlist>
<track>
<title>TestTrack 1</title>
<band>Band1</band>
<file>test1.mp3</file>
</track>
<track>
<title>TestTrack 2</title>
<band>Band2</band>
<file>test2.mp3</file>
</track>
<track>
<title>TestTrack 3</title>
<band>Band3</band>
<file>test3.mp3</file>
</track>
<track>
<title>TestTrack 4</title>
<band>Band4</band>
<file>test4.mp3</file>
</track>
</playlist>
AS3來源:
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE, showXML);
xmlLoader.load(new URLRequest("playlistAS3.xml"));
function showXML(e:Event):void {
XML.ignoreWhitespace = true;
var songs:XML = new XML(e.target.data);
trace(songs.track.length());
var i:Number;
for (i=0; i < songs.track.length(); i++) {
trace(" Name of the song: "+ songs.track[i].title.text());
trace(" Name of the Band: "+ songs.track[i].band.text());
trace(" File Location of the song: "+ songs.track[i].file.text());
}
}
這裏一切正常,但我想,以做多隻是追蹤結果。 我想將結果存儲在一個對象或數組中,並從其他函數中訪問它。
我的問題是如何存儲XML數據,如果我想從其他功能使用它?
如何在定製的Finctions中使用「歌曲」XML。對不起,愚蠢的問題,但我不熟悉as3 :(。 – Faraona
如果你的函數以外有變量「歌曲」,那麼它可以在該時間軸上的所有自定義函數中訪問。不是使用Classes,而是將時間軸放在腳本上,而不是使用「songsObj [0] .song」,它會是「songs.track [0] .title.text()」。 – Corey
Plese give me示例代碼 – Faraona