實(shí)例4: 利用List組件做個(gè)mp3播放列表。 新建一個(gè)xml文檔,在記事本中輸入下面的代碼,然后保存為 xml-004.xml。
<?xml version="1.0" encoding="gb2312"?> <mp3List> <mp3 path="jmzcg.mp3">阿桑-寂寞在唱歌</mp3> <mp3 path="jmjywsls.mp3">寂寞是因?yàn)樗寄钫l(shuí)</mp3> <mp3 path="szwspdxd.mp3">老狼-睡在我上鋪的兄弟</mp3> <mp3 path="qf.mp3">誓言-求佛</mp3> <mp3 path="xyzth.mp3">下一站天后</mp3> <mp3 path="nswdxfm.mp3">伊能靜-你是我的幸福嗎</mp3> <mp3 path="aqfx.mp3">愛(ài)情復(fù)興(容祖兒)</mp3> <mp3 path="qrlg.mp3">水木年華-秋日戀歌</mp3> <mp3 path="qnyh.mp3">張國(guó)榮-倩女幽魂</mp3> <mp3 path="a.mp3">一首很棒的英文歌(酒吧里常放)</mp3> </mp3List>
xml結(jié)構(gòu): <mp3List>xml文檔中的頂層節(jié)點(diǎn)。 <mp3 path="jmzcg.mp3">阿桑-寂寞在唱歌</mp3>頂層節(jié)點(diǎn)下的子級(jí)節(jié)點(diǎn),path是mp3節(jié)點(diǎn)下的屬性,“阿桑-寂寞在唱歌”是mp3的節(jié)點(diǎn)值。
打開(kāi)Flash新建一個(gè)Flash文檔,大小為200*150,保存到剛才的xml文檔的目錄中,命名為 xml-04.fla。新建2個(gè)圖層分別命名Actions、cont ,cont層中拉一個(gè)List組件到第一幀.大小為200*150,實(shí)例名為mp3_list,Actions層第一幀輸入下面代碼:
//xml-004.fla. //使用系統(tǒng)編碼.防止亂碼. System.useCodepage = true; //實(shí)例化一個(gè)xml對(duì)象. var myxml:XML = new XML(); //分析時(shí)忽略xml文檔中的空格. myxml.ignoreWhite = true; //加載xml-004.xml文檔. myxml.load("xml-004.xml"); //調(diào)用XML.onLoad事件. myxml.onLoad = function(success:Boolean) { //如果加載成功,success=true;否則success=false; if (success) { trace("加載成功!"); //用一個(gè)數(shù)組來(lái)引用頂層節(jié)點(diǎn)中子級(jí)節(jié)點(diǎn)的數(shù)組. var child_arr:Array = myxml.firstChild.childNodes; //這個(gè)for遍歷的是頂層節(jié)點(diǎn)下的子級(jí)節(jié)點(diǎn). for (var i = 0; i<child_arr.length; i++) { //將歌曲添加到List組件中. //child_arr[i].firstChild.nodeValue這個(gè)是xml節(jié)點(diǎn)的節(jié)點(diǎn)值. //child_arr[i].attributes.path這個(gè)是xml節(jié)點(diǎn)下的path屬性. mp3_list.addItem({label:(i+1)+"."+child_arr[i].firstChild.nodeValue, data:child_arr[i].attributes.path}); } } else { trace("加載失敗!"); } }; //listEvent函數(shù)是執(zhí)行List組件中change事件 function listEvent():Void { //這個(gè)就是歌曲地址.用Sound類的loadSound方法就可以播放歌曲了.例:mysound.loadSound(mp3_list.selectedItem.data);詳細(xì)請(qǐng)看幫助文檔. trace(mp3_list.selectedItem.data); } //添加幀聽(tīng)器. mp3_list.addEventListener("change", listEvent);
教程源文件:xml教程.rar
經(jīng)典論壇討論: http://bbs.blueidea.com/thread-2743872-1-1.html
本文鏈接:http://www.95time.cn/tech/multimedia/2007/4697.asp
出處:藍(lán)色理想
責(zé)任編輯:elesa
上一頁(yè) Flash處理XML文檔數(shù)據(jù)教程 [3] 下一頁(yè)
◎進(jìn)入論壇Flash專欄版塊參加討論
|