我使用此代码加载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