完整簡潔 Flash 處理XML 文檔數(shù)據(jù) 教程 下篇
更新時(shí)間:2007年12月12日 21:45:46 作者:
實(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</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">愛情復(fù)興(容祖兒)</mp3>
<mp3 path="qrlg.mp3">水木年華-秋日戀歌</mp3>
<mp3 path="qnyh.mp3">張國榮-倩女幽魂</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)值。
打開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ù)組來引用頂層節(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);
}
//添加幀聽器.
mp3_list.addEventListener("change", listEvent);
打包文件下載
利用List組件做個(gè)mp3播放列表。
新建一個(gè)xml文檔,在記事本中輸入下面的代碼,然后保存為 xml-004.xml。
復(fù)制代碼 代碼如下:
<?xml version="1.0" encoding="gb2312"?>
<mp3List>
<mp3 path="jmzcg.mp3">阿桑-寂寞在唱歌</mp3>
<mp3 path="jmjywsls.mp3">寂寞是因?yàn)樗寄钫l</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">愛情復(fù)興(容祖兒)</mp3>
<mp3 path="qrlg.mp3">水木年華-秋日戀歌</mp3>
<mp3 path="qnyh.mp3">張國榮-倩女幽魂</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)值。
打開Flash新建一個(gè)Flash文檔,大小為200*150,保存到剛才的xml文檔的目錄中,命名為 xml-04.fla。新建2個(gè)圖層分別命名Actions、cont ,cont層中拉一個(gè)List組件到第一幀.大小為200*150,實(shí)例名為mp3_list,Actions層第一幀輸入下面代碼:
復(fù)制代碼 代碼如下:
//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ù)組來引用頂層節(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);
}
//添加幀聽器.
mp3_list.addEventListener("change", listEvent);
打包文件下載
相關(guān)文章
AS3.0實(shí)例學(xué)習(xí) 熟悉新的事件機(jī)制和addChild的運(yùn)用
AS3.0實(shí)例學(xué)習(xí) 熟悉新的事件機(jī)制和addChild的運(yùn)用...2007-12-12用as檢測(cè)服務(wù)器端的某個(gè)flv文件是否存在的代碼
用as檢測(cè)服務(wù)器端的某個(gè)flv文件是否存在的代碼...2007-03-03給所有ActionScript初學(xué)者的一點(diǎn)建議 經(jīng)典
這篇文章主要給大家介紹了關(guān)于對(duì)ActionScript初學(xué)者的一點(diǎn)建議的相關(guān)資料,需要的朋友可以參考下2006-12-12