每天学一点flash(4) 数组与xml配合使用
带着上一节的问题,这次我们开始讨论数组与xml 的关系,配合使用它来达到我们想要的效果。
第一, 我们可以这样理解,数组作用是存放东西,好比仓库
第二, Xml里面的数据,好比商品
第三, 现在我们这个仓库来装取我们的商品
看下面的xml 文件这次增加三个项目(先看上一章所讲的内容)
<?xml version="1.0" encoding="UTF-8"?>
<item>
<b name="夏天的树人"/>
<b name="秋天的树人"/>
<b name="冬天的树人"/>
<b name="春天的树人"/>
</item>
这里增加几个name 到时候我用数组来装我们的数据,显示我们的数据
好了,现在开始我们下一步的工作拉
新建一个fla文件,在第一帧上写上我们的代码最开始的代码
var myxml:XML=new XML();//新建对象
System.useCodepage=true;//防止乱码
myxml.ignoreWhite=true;
myxml.load("Mymenu.XML");//开始加载外部的xml文件
myxml.onLoad=function(success)
{
if(success)
trace("成功");
}
保证外部加载回来的xml文件可以被加载这个工作的第一步。
问题1,怎样显示出xml文件的内容?
回答: xml文件已经被加载了,接下来我们的工作是用xml操作语句来获取我们所要的值。看下面的代码。
var myxml:XML=new XML();//新建对象
System.useCodepage=true;//防止乱码
myxml.ignoreWhite=true;
myxml.load("Mymenu.XML");//开始加载外部的xml文件
myxml.onLoad=function(success)
{
if(success)
trace("成功");
trace(myxml.firstChild.childNodes[0].attributes.name);
trace(myxml.firstChild.childNodes[1].attributes.name);
trace(myxml.firstChild.childNodes[2].attributes.name);
trace(myxml.firstChild.childNodes[3].attributes.name);
}
这里只是增加四句。它最大区别之处就是childNodes[??]里面值的不同,它是一个数组,分别代码标签<b name=”??”/>里面不同的值,如果代码调试成功的话。在输出面板就会按顺序显示出这样的信息。
成功
夏天的树人
秋天的树人
冬天的树人
春天的树人
问题二:xml数据可显示出来了,它有什么用呢?
回答:数据可以显示出来,那么我们就可以利用xml 的值帮我们做很多东西,例如是一个动态的文本导航,这个一个很常用的做法,外部加载xml文件,swf文件显示它他的值,日后我们只需要修改xml文件的值就帮助不修改fla文件就可以达到维护的目的。
接下来,我们用四个动态文本框将xml的值显示出来吧这里只要增加几句就ok
分别名为 mytext1,mytext2,mytext3,mytext4
代码如下:
var myxml:XML=new XML();//新建对象
System.useCodepage=true;//防止乱码
myxml.ignoreWhite=true;
myxml.load("Mymenu.XML");//开始加载外部的xml文件
myxml.onLoad=function(success)
{
if(success)
{trace("成功");
trace(myxml.firstChild.childNodes[0].attributes.name);
trace(myxml.firstChild.childNodes[1].attributes.name);
trace(myxml.firstChild.childNodes[2].attributes.name);
trace(myxml.firstChild.childNodes[3].attributes.name);
mytext1.text=myxml.firstChild.childNodes[0].attributes.name;
mytext2.text=myxml.firstChild.childNodes[1].attributes.name;
mytext3.text=myxml.firstChild.childNodes[2].attributes.name;
mytext4.text=myxml.firstChild.childNodes[3].attributes.name;
}
}
这里增加只是四句,我们达到用动态文本框显示xml数据的目的
mytext1.text=myxml.firstChild.childNodes[0].attributes.name;
mytext2.text=myxml.firstChild.childNodes[1].attributes.name;
mytext3.text=myxml.firstChild.childNodes[2].attributes.name;
mytext4.text=myxml.firstChild.childNodes[3].attributes.name;
这下次跟上一节我讨论的问题是一样的好了。继续看问题
问题三,xml与数组真的有关系吗?它们配合使用是怎样的?
回答:数组的用处就是存储数据,帮我们管理数据,现在让我们开始我们下面的讲解吧
第一步:我们要获取xml数据。我们利用数组来
首先新建一个数组。
var list=new Array();
代码如下
var myxml:XML=new XML();//新建对象
System.useCodepage=true;//防止乱码
myxml.ignoreWhite=true;
var list=new Array();//新建数组用于存储xml数据
myxml.load("Mymenu.XML");//开始加载外部的xml文件
myxml.onLoad=function(success)
{
if(success)
{trace("成功");
trace(myxml.firstChild.childNodes[0].attributes.name);
trace(myxml.firstChild.childNodes[1].attributes.name);
trace(myxml.firstChild.childNodes[2].attributes.name);
trace(myxml.firstChild.childNodes[3].attributes.name);
for(i=0;i<myxml.firstChild.childNodes.length;i++)
{
list[i]=myxml.firstChild.childNodes[i].attributes.name;
mytext1.text=list[0];
mytext2.text=list[1];
mytext3.text=list[2];
mytext4.text=list[3];
}
}
}
在这里我们关键一步就是
for(i=0;i<myxml.firstChild.childNodes.length;i++)
{
list[i]=myxml.firstChild.childNodes[i].attributes.name;
}
其目的就是将xml 数据变量name的值存入到数组里面,日后我们就可以方便管理
现在解析一下:循环条件myxml.firstChild.childNodes.length
这里是指取得我们节点数组的长度,我们在xml设计了四个<那么长度就是4,可以这样理解.:这里只是增加几句而已
他同样可以达到刚才的效果,这一下子是不是很爽呢?
问题四,数组与xml的配合可以做出什么来?现在你能否告诉我,数组它的作用与定义呢?
回想一下,请慢慢地想慢慢的回忆。。。。。。。。。。。。
文章水平有限,望能见谅:希望能够对你有点帮助
每天学一点flash(4) 数组与xml配合使用相关推荐
- 每天学一点flash(15) xml的一些常见写法
今天下了大雨来了,什么地方去不了,只好将想写的东西都记载下来. 一些常见的一些xml写法,收集目的就是为了代码调试方便: 一.简单数组单值形 <?xml version="1.0&qu ...
- as3 与 java_每天学一点Flash(48) As3.0 与 java 通信(1)
在as2.0 已经有关于Socket 相关的编程,到了3.0后新增了Socket类,可以更加强大的进行Socket相关的编程,只是有一点Flash 还没有达到可以自己编写服务器相关的类,那只好借助ja ...
- 每天学一点flash(14) as3.0 处理xml (官方)
把官方的教程贴上来,我觉得还是不错的说得很有条理: 转载于:https://www.cnblogs.com/guoyiqi/archive/2007/08/21/2069585.html
- 每天学一点flash(76)百度MP3音乐APi接口使用
百度MP3音乐API接口及应用 http://cloud21.javaeye.com/blog/611914 这里有一篇关于百度MP3音乐APi接口的应用,写了一下关于这个百度接口的应用,他可以提供一 ...
- 每天学一点flash 76 百度MP3音乐APi接口使用
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 百度MP ...
- 每天学一点flash(67) 上传图片
今天换个口味,制作一下上传图片,功能个人希望尽量简单化,方便理解:Flash cs4 对FileReference 类增加几项内容 如data 属性能够获取到一个data : ByteArray 这个 ...
- 每天学一点flash(40) 制作走马灯四
在原来的基础上再增加多一个鼠标触发事件,那就是响应点击事件.当我们点击了每一张图片的时候那么我们就可以判断每一张所在连接图片的网址了.代码如下: package { import flash.dis ...
- 每天学一点flash(11) as3.0 与asp 通信 (1)
经过几次的尝试啊,今天终于实现了as3.0与asp通信.我用access做了一个最简单的测试其目的就是调试代码方便.好现在开始吧 首先:必须准备asp 与access文件,而且要先用代码连接上acce ...
- 每天学一点flash(74) Flash搜索框
今晚在这个博客看到一篇有趣的文章,于是跟着他的教程做了一个flash搜索框,他的题目是 用Flash制作一个基本的搜索引擎框 http://useswf.com/quick-tip/flash_cre ...
- 每天学一点flash(5) actionscript 3.0 外部加载mp3音乐
刚刚初学actionscript 3.0每天总结一点东西那么慢慢积累起来,这些笔记就会成为你一个很厉害的"法宝" 今天我刚刚测试一下外部加载mp3, 与as2.0有着很大的区别,但 ...
最新文章
- 电力职称计算机多选,【2017年整理】职称计算机考试Office多选模拟题及答案.doc...
- 关于UIWebView与js交互的问题
- “斐波那契数列”的两种算法
- Windows系统Pycharm软件重置设置,恢复默认设置方法介绍
- 视频容器格式与编码格式简介
- 如何自动化识别异常数据?达到智能预警?
- C#事件机制(记住流程)
- tomcat报错“The specified JRE installation does not exist”
- PHP 反射机制Reflection
- git提交后的代码在哪儿_git 分支合并策略
- python删除文件代码_python2.7删除文件夹和删除文件代码实例
- WebLogic简单的备份和恢复
- Spring知识点简介
- 流程图绘图工具 Gliffy 使用简介
- Java中利用compareTo方法进行字符串比较排序
- Linux bridge模块的一次重构(让bridge归bridge让eth0归eth0)
- 狂热之下被遗忘的指标—快充倍率
- CAD关于图层隐藏图层操作(com接口c#语言)
- iOS 正确设置状态栏 Style
- 血族手游Lua脚本及资源文件解密
热门文章
- 两种方法--完全卸载macOS上的应用程序
- VisualDiffer for Mac(文件对比利器)支持m1
- ubuntu 1804.1 升级失败:Hash Sum mismatch
- Eclipse中 Clean 的时候总是警告 org.apache.catalina.webresources.Cache backgroundProcess
- EasyRecovery软件在win10系统中的功能及使用方法介绍(附注册机下载地址)
- 自动生成一列不重复数据库
- logrotate 对某个日志的配置
- Nginx 代理设置
- mysql二进制安装shell脚本,一分钟就搞好linux上的mysql
- 重拾JAVA之WinForm实战之(二)