关于XML在FLASH中的应用

所属分类: Flash教程 / 媒体动画 阅读数: 1894
收藏 0 赞 0 分享
点击这里浏览 Flash教程 栏目关于XML在FLASH中的应用,以前写过几篇。也收集了几篇来自网络的。不过,都是一些非常简单而常用的。在这里,我把XML的其他相关说明总结一下。有不足之处,希望大家能相互补充。只为了一个共同的目的:共同提高。
一、书写标准的XML需要注意以下几点:
    一个标准的XML文档必须要在第一行以"<?xml>"开头,以及一个"<?/>"结尾,其中开头部分需申明XML的版本,如:version="1.0",也应包含一个关于编码的声明:“encoding="utf-8"”; XML要求所有的标签必须在文档结束之前被闭合,如果标签中包含内容,则必须写成“<标签名>内容</标签名>"的格式,如果内容为空,则应写在</标签名>的格式;即,后面必须有</XXX>这种格式的。 每个XML都有有一个根元素,也叫根节点。 节点有节点值和属性。 XML的节点值如果出现与XML标签关键字一样的字符,XML将会无法解析文档,比如,某个节点值如果是一个大于或者小于号,就会让解释器产生一个错误。
二、在FLASH中创建一个简单的实例:
//创建一个新的XML类实例
var my_XML:XML=new XML();
//创建一个TextArea组件,用于显示此XML内容
var my_TextArea:mx.controls.TextArea;
//加载外部XML文件
my_XML.load("my_xml.xml");
//为load函数定义onLoad函数---此处是必须的。只有当加载成功后,才能控制XML。否则不能。
my_XML.onLoad=function(ok:Boolean){
if(ok){
my_TextArea.text =this;
} else{
my_TextArea.text ="加载失败..."
}
}
//忽略空白:
my_XML.ignoreWhite=true;
三、关于FLASH解析XML详解,说白了,也就是对节点的读取。
首先,来看看这幅图,稍微加点印象。


下面,我将对XML文件的解析方面做详细的介绍。
为了便于讲解,在此,我举一个简单的例子。
1、新建一个记事本文件,在里面输入如下内容:
<购买物品>
<衬衣 颜色="白色" 品牌="雅戈尔">1件</衬衣>
<裤子 颜色="深蓝" 品牌="王子裤">2件</裤子>
<鞋子 颜色="黑色" 品牌="红蜻蜓">3双</鞋子>
<总花费金额>
<打的费>50元</打的费>
<货物金>1000元</货物金>
</总花费金额>
</购买物品>
然后保存为"goods.xml",注意,在编码处,要选择"Unicode"。
2、下面,就对里面的各项值进行解读。
读取整个XML文件的方法:
在刚才的XML的同级目录下新建一FLA文件,然后在场景中放置一TextArea组件。并赋实例名“my_TextArea”,
然后在第一帧中添加如下代码:
var my_XML:XML=new XML();
System.useCodepage=true;
var my_TextArea:mx.controls.TextArea;
my_XML.load("goods.xml")
my_XML.onLoad=function(ok:Boolean){
if(ok){
my_TextArea.text =this;
} else{
my_TextArea.text ="加载失败"
}
}
按CTRL ENTER测试,即可以看效果。
首先,我们来看看如何对XML中的节点名称或者节点属性进行读取呢?
比如,我们要读取如例子中的"购买物品"这几个字符,该如何操作呢?
我们使用如下语句:
this.firstChild.nodeName;
如果要读取"衬衣":
this.firstChild.childNodes[0].nodeName;
如果要读取"1条":
this.firstChild.childNodes[1].childNodes[0].nodeValue;
如果要读取裤子的品牌:
this.firstChild.childNodes[1].attributes.品牌;
将XML读取进LIST组件中:
System.useCodepage = true;
var my_TextArea:mx.controls.TextArea;
var my_List:mx.controls.List;
var my_XML:XML = new XML();
my_XML.ignoreWhite = true;
my_XML.load("shopping.xml");
my_XML.onLoad = function(ok:Boolean) {
if (ok) {
var childnodes = this.firstChild.childNodes;
for (i=0; i<childnodes.length; i ) {
my_List.addItem({label:childnodes.nodeName });
}
} else {
my_TextArea.text = "加载失败";
}
} ;
第一个节点:firstChild:
用法:this.firstChild;
最后一个节点:lastChild
用法:this.firstChild;
兄弟节点:nextSibling:
用法:this.firstChild.childNodes[0].nextSibling;
另一个兄弟节点:previousSibling:
用法:this.firstChild.childNodes[0].previousSibling;
区别:nextSibling是朝后,而previousSibling是当前之前;
父类节点:parentNode:
用法:this.firstChild.parentNode;
上述所有实例演示:
http://www.taoshaw.com/taoshaw/study/LoadXml/LoadXML.swf
源文件下载:
loadXML.rar

更多精彩内容其他人还在看

Flash怎么让风景在运动的圆形中显示?

Flash中中想要制作一个传统的补间动画,该怎么制作一个运动的圆形,而透过圆形可以看到底下的风景图,该怎么制作呢?下面我们就来看看详细的教程。软件名称:Adobe Flash CS6(FI cs6) 官方简体中文正式版软件大小:1.24GB更新时间:2015-12-10立即下载1... 查看详情
收藏 0 赞 0 分享

flash cs6怎么制作雪花飞舞的动画?

flash使用绘图工具绘制了雪花,想要给雪花添加动态效果,该怎么制作雪花飘落的动画呢?下面我们就来看看详细的教程。软件名称:Adobe Flash CS6(FI cs6) 官方简体中文正式版软件大小:1.24GB更新时间:2015-12-10立即下载1、打开软件。点击Flash菜... 查看详情
收藏 0 赞 0 分享

flash怎么手绘漂亮的鸡冠花?

很喜欢花,想要绘制漂亮的红色鸡冠花,该怎么绘制这个花朵呢?今天我们就来看看使用flash绘制鸡冠花的教程。软件名称:Macromedia Flash 8.0 简体中文特别版(附序列号+安装破解教程)软件大小:122MB更新时间:2017-05-22立即下载1、首先我们将flash... 查看详情
收藏 0 赞 0 分享

flash怎么制作尘土飞扬的动画效果?

ps中想要制作一个掸灰尘起灰尘的动画,该怎么制作这个动画效果呢?下面我们就来看看详细的教程。软件名称:Macromedia Flash 8.0 简体中文特别版(附序列号+安装破解教程)软件大小:122MB更新时间:2017-05-22立即下载1、打开或新建一个空白的FLASH文档... 查看详情
收藏 0 赞 0 分享

Flash怎么制作来回摇摆的花朵的动画?

我们知道用Flash可以制作很多动画效果,其中逐帧动画是最基础也最简单的动画形式,那么我们如何用Flash制作若干个不同方向摇动的花朵动画呢?软件名称:adobe flash cc 2015 中文版软件大小:855MB更新时间:2015-06-19立即下载1、新建文档选择初始界面... 查看详情
收藏 0 赞 0 分享

flash怎么画一个简笔画的卡通人物头像?

FLASH软件,用线条工具可以快速的把卡通人物头像勾画出来。软件名称:adobe flash cc 2015 中文版软件大小:855MB更新时间:2015-06-19立即下载1、启动软件,并新建文档。默认图层1;用椭圆工具在图层1舞台上画出一个无填充颜色,黑色边的椭圆。2、选取线... 查看详情
收藏 0 赞 0 分享

Flash CS6怎么设计一段引导层动画?

先看效果(实际效果没有那条引导线,为方便大家理解增加显示的线)软件名称:Adobe Flash CS6(FI cs6) 官方简体中文正式版软件大小:1.24GB更新时间:2015-12-10立即下载1、新建一个元件(Ctrl + F8);2、命名元件“圆”... 查看详情
收藏 0 赞 0 分享

flash怎么做同心圆遮罩?

flash同心圆遮罩怎么做?下面我们就来看看基础教程,很简单。软件名称:adobe flash cc 2015 中文版软件大小:855MB更新时间:2015-06-19立即下载1、难度一颗星,绘制同心圆2、同心圆画好了,填充颜色,应为线条是不能做遮罩的3、全都做好了,接下来是动画... 查看详情
收藏 0 赞 0 分享

flash怎么制作一个简单的引导层动画?

利用flash制作孙悟空三打白骨精引导层动画,制作步骤比较复杂,现在就把制作的步骤和截图分享给大家,希望对你有所帮助和启发,同时也希望你能够制作出更加精美的动画效果来,本经验仅供参考。软件名称:adobe flash cc 2015 中文版软件大小:855MB更新时间:2015-... 查看详情
收藏 0 赞 0 分享

flash怎么制作文字阴影? flash做阴影的教程

FLASH虽然没有PS功能强大,但是也可以做一些特效文字。软件名称:adobe flash cc 2015 中文版软件大小:855MB更新时间:2015-06-19立即下载1、打开FLASH8软件,点击“创建新项目”下的FLASH 文档。2、如图,在下面的... 查看详情
收藏 0 赞 0 分享
查看更多