完整简洁 Flash 处理XML 文档数据 教程 下篇

实例4:
利用List组件做个mp3播放列表。
新建一个xml文档,在记事本中输入下面的代码,然后保存为 xml-004.xml。

复制代码 代码如下:

 
 
    阿桑-寂寞在唱歌 
    寂寞是因为思念谁 
    老狼-睡在我上铺的兄弟 
    誓言-求佛 
    下一站天后 
    伊能静-你是我的幸福吗 
    爱情复兴(容祖儿) 
    水木年华-秋日恋歌 
    张国荣-倩女幽魂 
    一首很棒的英文歌(酒吧里常放) 
 

xml结构:
xml文档中的顶层节点。
阿桑-寂寞在唱歌顶层节点下的子级节点,path是mp3节点下的属性,“阿桑-寂寞在唱歌”是mp3的节点值。

打开Flash新建一个Flash文档,大小为200*150,保存到刚才的xml文档的目录中,命名为 xml-04.fla。新建2个图层分别命名Actions、cont ,cont层中拉一个List组件到第一帧.大小为200*150,实例名为mp3_list,Actions层第一帧输入下面代码: 

复制代码 代码如下:

//xml-004.fla. 
//使用系统编码.防止乱码. 
System.useCodepage = true; 
//实例化一个xml对象. 
var myxml:XML = new XML(); 
//分析时忽略xml文档中的空格. 
myxml.ignoreWhite = true; 
//加载xml-004.xml文档. 
myxml.load("xml-004.xml"); 
//调用XML.onLoad事件. 
myxml.onLoad = function(success:Boolean) 

    //如果加载成功,success=true;否则success=false; 
    if (success) { 
        trace("加载成功!"); 
        //用一个数组来引用顶层节点中子级节点的数组. 
        var child_arr:Array = myxml.firstChild.childNodes; 
        //这个for遍历的是顶层节点下的子级节点. 
        for (var i = 0; i            //将歌曲添加到List组件中. 
            //child_arr[i].firstChild.nodeValue这个是xml节点的节点值. 
            //child_arr[i].attributes.path这个是xml节点下的path属性. 
            mp3_list.addItem({label:(i+1)+"."+child_arr[i].firstChild.nodeValue, data:child_arr[i].attributes.path}); 
        } 
    } else { 
        trace("加载失败!"); 
    } 
}; 
//listEvent函数是执行List组件中change事件 
function listEvent():Void 

    //这个就是歌曲地址.用Sound类的loadSound方法就可以播放歌曲了.例:mysound.loadSound(mp3_list.selectedItem.data);详细请看帮助文档. 
    trace(mp3_list.selectedItem.data); 

//添加帧听器. 
mp3_list.addEventListener("change", listEvent); 

打包文件下载

你可能感兴趣的:(完整简洁 Flash 处理XML 文档数据 教程 下篇)