| 实例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);
 教程源文件:xml教程.rar 经典论坛讨论:本文链接:http://www.blueidea.com/tech/multimedia/2007/4697.asphttp://bbs.blueidea.com/thread-2743872-1-1.html
   出处:蓝色理想
责任编辑:elesa
 上一页 Flash处理XML文档数据教程 [3] 下一页 ◎进入论坛Flash专栏版块参加讨论
	      |