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

所属分类: 网页制作 / Flash 阅读数: 2070
收藏 0 赞 0 分享
实例4:
利用List组件做个mp3播放列表。
新建一个xml文档,在记事本中输入下面的代码,然后保存为 xml-004.xml。

复制代码 代码如下:

<?xml version="1.0" encoding="gb2312"?> 
<mp3List> 
    <mp3 path="jmzcg.mp3">阿桑-寂寞在唱歌</mp3> 
    <mp3 path="jmjywsls.mp3">寂寞是因为思念谁</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">爱情复兴(容祖儿)</mp3> 
    <mp3 path="qrlg.mp3">水木年华-秋日恋歌</mp3> 
    <mp3 path="qnyh.mp3">张国荣-倩女幽魂</mp3> 
    <mp3 path="a.mp3">一首很棒的英文歌(酒吧里常放)</mp3> 
</mp3List> 

xml结构:
<mp3List>xml文档中的顶层节点。
<mp3 path="jmzcg.mp3">阿桑-寂寞在唱歌</mp3>顶层节点下的子级节点,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<child_arr.length; 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); 

打包文件下载
更多精彩内容其他人还在看

Flex程序开发心得小结

和Flash的开发环境相比,Flex提供的组件库确实很诱人,但由于功能太全面,导致程序的体积大,有时候使用不当,可能会影响程序运行效率。
收藏 0 赞 0 分享

关于FLASH与XML交互应用中的理解

关于XML在FLASH中的应用,以前写过几篇。也收集了几篇来自网络的。不过,都是一些非常简单而常用的。在这里,我把XML的其他相关说明总结一下。有不足之处,希望大家能相互补充。只为了一个共同的目的:共同提高。
收藏 0 赞 0 分享

Flash Event写法

flash下event事件驱动方法
收藏 0 赞 0 分享

AS3自写类整理笔记 ClassLoader类第1/2页

在用flash做项目的时候,把一些元件,通过设置链接类,然后使用这个类,通过getClass方法即可把这个素材拿下来
收藏 0 赞 0 分享

AS3自写类整理笔记:ByteLoader类

该类的主要功能是把swf,jpg,png,gif等文件以字节的形式加载进来 以便于使用Loader.loadBytes方法,重复加载使用素材 如果图片格式为jpg,并且是渐进式格式jpeg,那么该类还可以帮助你边加载边显示
收藏 0 赞 0 分享

AS3自写类整理笔记 Dot类第1/2页

拖拽物体1和物体2,就可以看到效果了 index.base.geom.Dot类讲解 基本功能:记录xy两点
收藏 0 赞 0 分享

AS3 中的package(包)应用实例代码

初学者在学习AS3时会遇到什么样的问题呢?只有从初学的角度来实践,才能知道,package 这个高手们必玩的内容,对初学者来说或许就有一些困惑。
收藏 0 赞 0 分享

swfupload使用代码说明

终于在天哪joyous的帮助下,花了一天的时间,搞明白大部分内容. swfupload(以下简称su)遇到的主要问题就是,版本不同造成的极大差异, 现在的版本已经到2.1beta。我用的是2.02版,天哪用的是1.xx版。
收藏 0 赞 0 分享

Flex中最好的MVC框架Mate框架

个人感觉Mate框架非常适合开发一般运用程序,可以提高开发效率,节约成本,同时也比较好维护。但如果要做游戏或是其它控制更强的程序并不适合。
收藏 0 赞 0 分享

Flex 创建复数行文本内容的List

效果不错的flex多行文本
收藏 0 赞 0 分享
查看更多