[1b]ActionScript 3.0系列教程(4):爽快使用XML[/1b]
为什么放弃AS2.0选择AS3.0?如果只允许我说三个理由。那么AS3.0对XML的近乎完美的支持绝对是其中一个。
[1b]简单说说AS3.0中对于XML支持的不同吧:[/1b]
.AS2.0对XML的支持勉勉强强,将就着可以用。而AS3.0中对XML的支持是全方位的,极其强大和灵活的。
AS2.0对XML的支持不是内建的(build-in),也并非基于ECMAScript for XML(E4X)标准。而AS3.0中对XML的支持符合E4X标准,它的设计有三个优点:
1. 简易。包括操作和可读性。你会发现AS3.0中对于XML的操作犹如对一个普通Object对象一样浅显易懂。语句非常浅白流畅。
2. 连续性。其各个功能的设计和AS3.0其余的部分思想一致,易于理解。
3. 熟悉。操作符和操作逻辑对我们来说都相当熟悉易用。
在AS2.0时代,为了解决这部分的问题
效率。
效率包括两方面,开发效率,和代码执行效率。开发效率的论述见上。AS3.0对于XML的执行效率远远高过没有内建XML支持的AS2.0。
[1b]XML的输入[/1b]
在AS2.0时代,在代码行中输入XML代码是一种痛苦。如果不是从文件中读取,那么我们就要忍受一长串挤在一块儿的字符串。
而在AS3.0中,太简单了。直接按照XML的内容输即可,想换行就换行,想Tab就Tab,就一个字,爽。
新建一个fla,选中第一帧,F9打开动作面板,输入如下代码:
//http://www.kingda.org
//例1
var kingdaXML:XML =
2
3
4
trace (kingdaXML.item[1].level); //output:3
//例2
var kS:String = "this is a test";
var kXML:XML = new XML(kS);
trace (kXML.txt); //output:this is a test;
例1中注意到没,直接写XML内容在后面,想换行就换行,想tab就tab,多爽。不想AS2.0中写string时,换个行就不行了。
写完这一句后,我们所写出的类似于string的形式立刻就被Flash理解成了XML对象了,所以我们马上就可以用"."操作符来访问相应的属性。本例中访问了第2个item节点的level值。
这么简便直观的访问方式是不是比 AS2.0中那千遍一律的childNodes要好得多?
不过要注意,最后可以加";"结束。但我为了XML的视觉美观没有加。这个没有关系,编译时不会考虑这一点。
[1b]事实上只要你喜欢,AS1.0, 2.0, 3.0中语句结束都可以不加";"号。但是这并不是一个好的编程习惯,更不符合严谨的自我语法要求。因此我建议,除了XML可以不加外,其余的都应该加,呵呵。[/1b]
例2展示了如何将一个包含了XML内容的字符串转换成XML对象。用的是XML的构造函数转换的。
AS3更有趣的是,可以使用已有的变量来直接构造XML,带来方便的编程特性。如下例。
var rootNodeName :String = "site";
var subNodeName :String = "orgin";
var subNodeContent :String = "Kingda’s Blog";
var attributeName :String = "url"
var attributeValue :String = "http://www.kingda.org";
var extXML:XML =
{subNodeContent}
;
trace (extXML.toString());
/*output:
[1b]要点就是要把变量用"{}"括起来,并且设置属性时不要再加引号了。[/1b]
[1b]XML的外部读取[/1b]
包括读取外部xml文件,和通过URL读取xml。AS3.0中不像2.0那样集成了一个load()。
AS3.0在架构上就设计了所有与外部打交道的都由URLrequest对象来进行,数据都由URLloader对象来接受。这个我们会在下一部分教程详细讲解。这一次只要知道这样的架构设计是深思熟虑,且简洁优美的即可。
[1b]XML的操作[/1b]
本文转自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/1784.html
发表评论
-
AS3生成单独“双击事件”
2010-04-10 12:06 819AS3虽然提供了双击事件,但在触发双击事件之前会触发一个单击 ... -
AS3生成单独“双击事件”
2010-04-10 12:06 705AS3虽然提供了双击事件,但在触发双击事件之前会触发一个单击 ... -
FMS多人连机教程:[一] 初步认识SharedObject
2010-04-10 12:06 584最近事不多,比较轻快. ... -
FMS多人连机教程:[一] 初步认识SharedObject
2010-04-10 12:06 685最近事不多,比较轻快. ... -
FMS多人连机教程:[二] 做个简单的用户注册
2010-04-10 12:05 702因为这几天要出去办点事,不能上网了.所以今天就熬夜写了个教程 ... -
AS3与XML 的结合
2010-04-09 13:35 588[1b]ActionScript 3.0系列教程(4):爽快 ... -
AS3.0教程-视觉元件精要
2010-04-09 13:35 547题外话: 不少兄弟问我 ... -
AS3.0教程-视觉元件精要
2010-04-09 13:34 571题外话: 不少兄弟问我 ... -
AS3的Sound类
2010-04-09 13:34 904Title:Class Sound 标题:Sound类 前半部 ... -
flash游戏基本操作:上下左右的移动
2010-04-09 10:40 1570发一个按键无按钮的,按下的时候不进行帧的检测,省资源,AS3 ... -
Flash Physics Engine Box2DFlashAS3
2010-04-09 10:40 785又一个AS3 2D Physics Engine,它基于C++ ... -
Flash Physics Engine Box2DFlashAS3
2010-04-09 10:40 661又一个AS3 2D Physics Engine,它基于C++ ... -
Flex: Animated Skins
2010-04-09 10:39 716Tink 写了一个动画皮肤的例子,很好玩。几个截图: 禁用的时 ... -
Flex: Animated Skins
2010-04-09 10:39 628Tink 写了一个动画皮肤的例子,很好玩。几个截图: 禁用的时 ... -
《漫步》flash动画制作全记录五
2010-04-08 10:58 679场景五的黄昏场景是一 ... -
《漫步》flash动画制作全记录五
2010-04-08 10:57 451场景五的黄昏场景是一 ... -
《漫步》flash动画制作全记录六
2010-04-08 10:57 746没想到写制作记录会这么复杂,制作那些图片真花时间,呵呵,不过终 ... -
《漫步》flash动画制作全记录六
2010-04-08 10:57 657没想到写制作记录会这么复杂,制作那些图片真花时间,呵呵,不过终 ... -
flash动画形变讨论二:低头
2010-04-08 09:10 514上次说了基本的形变,现在说下提示点,提示点是控制图形变化的基本 ... -
卡通娃娃360度转身动画
2010-04-08 09:10 485超人表情原创大赛正如火如荼的进行中,对于初哥可能就望钱兴叹了, ...
相关推荐
运用AS3.0和XML结合开发的MP3音乐播放器,有开始、暂停、下一首、前一首、循环播放、顺序播放、随机播放、歌词显示、皮肤切换等,类似千千静听。代码提供学习爱好者分享,界面优美。 更多请访问 畅城网...
已知有一个XML文件(bookstore.xml)如下: Corets, Eva 5.95 1、插入节点 往节点中插入一个节点: 代码如下:XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load(“bookstore.xml”); XmlNode root=xmlDoc....
Base64是一种用64个字符来表示任意二进制数据的方法。...from xml.dom import minidom # 打开xml文件 dom=minidom.parse("D:\\pythonp\\ttt.xml") # 根据标签name获取值 names=dom.getElementsByTag
XML ID=”xmldso”> <?xml version=”1.0″?> <title>Straight Talk About Computersyyyyyyyyyy</title> <isbn>72-80088-005 <title>Straight Talk About ...
我们有3个加密xml的方法 1、仅仅使用对称加密的方法加密xml 这种加密方法只使用一个密钥,也就是说无论是加密xml还是解密xml都使用一个相同的密钥。因为这个密钥不会在被加密的xml中保存,所以我们需要在加密和解密...
前段时间笔者在开发中需要动态创建WEB组件,本以为是小事一桩,谁知看时容易做时难。里面还真有些小问题。... 二、读取XML文件 读取XML文件在很多的资料中都有详细的说明,而且相信很多朋友都已经很好的掌握了其技
因为一些配置属性比较多,存在多组属性,因此结合xml解析、缓存技术,实现配置文化的自动解析、存入缓存、缓存依赖实时更新配置内容。 配置文件反序列化存入缓存的核心方法: public Class.Settings GetSettings() ...
摘要 1 前言 2 AS 规范 3 命名规范 4 代码样式规范 ...编辑完 .java、.xml 等文件后一定要 格式化,格式化,格式化(如果团队有公共的样式包,那就遵循它,否则统一使用 AS 默认模板即可); 删除多余的 imp
自己做的一个Flex范例。 这是一个简单的登录范例。把用户名及密码传到ASP.NET的页面,ASP.NET返回XML结果Flex 显示。
在团队开发中,统一代码规范和风格是提高团队效率的必要工作。AS提供了 Code Style 配置方法,...将下载好的文件中 SquareAndroid.xml,导入 AS 然后结合自己团队定义的代码风格进行一些调整,将调整好的 Code Style
asp+access音乐播放器源码,这个播放器界面用FLASH制作,使用AS3开发,后台结合ASP+ACCESS,另外包含几个JS文件。 播放器的主要功能包括播放MP3、MP4、FLV、WMA、RM等文件。可以选择播放、暂停、停止、快进、快退、...
9.2.3 赋值运算符与二元运算符的结合 9.2.4 条件逻辑运算符 9.2.5 一元运算符 9.2.6 转换运算符 9.2.7 转换运算符的指导原则 9.3 引用其他程序集 9.3.1 更改程序集目标 9.3.2 引用程序集 9.3.3 类型封装 ...
响应鼠标的Flash图片滚动【左右滚动】,鼠标移动的快,图片滚动的速度也会加快,反之就会变慢,点击图片后会打开指定的URL,用了比较多的AS脚本,链接地址和图片路径在DATA.XML文件里修改,这是一个Flash结合XML形成...
ASPer看过来 困扰JSP的一些问题:jsp和宏之间的争议 jsp的5个不足之处 JSP不能代替Servlet Resin中的JSP范例 JSP发送邮件 jsp如何与ejb通信 Servlet和JSP的通信 jsp与applet通信 在JSP中...
企业服务总线(EnterpriseServiceBus,ESB)从面向服务体系架构(Service-OrientedArchitecture,SOA)发展而来,是传统中间件技术与XML、Web服务等技术结合的产物。 ESB提供了网络中最基本的连接中枢,是构筑企业...
通过xmlHttp和ASP的结合,我们可以轻松完成网页的异步调用。代码如下:1.新建Display.asp(这是前台显示页面)注意xmlhttp.readyState的4个属性1:LOADING;2:LOADED;3:INTERACTIVE;4:COMPLETED <%@ Language=...
3.单指拖动和双指缩放; 4.整张Sheet的预览; 5.UI做了一些调整,比如增大了按钮,改变了文字样式和蓝框的粗细等等,个人感觉好看一些了。 6.显示当前实例数量,可结合当前帧率来决定可以放多少个进入游戏而保证...
《ActionScript 3.0 语言和组件参考》概述《ActionScript 3.0 ... 应结合其它指导性媒体来使用本参考,例如《ActionScript 3.0 编程指南》以及 Adobe 网站上的资源(如 Flex Developer CenterFlash 开发人员中心)。
xml Generate slave information XML. Global options: --master -m <master> Comma separated list of masters to select, ranges are allowed. Examples: '1,3', '5-7,9', '-3'. ...
3.单指拖动和双指缩放; 4.整张Sheet的预览; 5.UI做了一些调整,比如增大了按钮,改变了文字样式和蓝框的粗细等等,个人感觉好看一些了。 6.显示当前实例数量,可结合当前帧率来决定可以放多少个进入游戏而保证...