`
hgfghwq24
  • 浏览: 27475 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
最近访客 更多访客>>
社区版块
存档分类
最新评论

AS3与XML 的结合

阅读更多

 [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.0 ,actionscript3.0播放器,MP3播放器 源码

    运用AS3.0和XML结合开发的MP3音乐播放器,有开始、暂停、下一首、前一首、循环播放、顺序播放、随机播放、歌词显示、皮肤切换等,类似千千静听。代码提供学习爱好者分享,界面优美。 更多请访问 畅城网...

    C# XML操作 代码大全(读XML,写XML,更新,删除节点,与dataset结合等)第1/2页

    已知有一个XML文件(bookstore.xml)如下: Corets, Eva 5.95 1、插入节点 往节点中插入一个节点: 代码如下:XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load(“bookstore.xml”); XmlNode root=xmlDoc....

    Python中base64与xml取值结合问题

    Base64是一种用64个字符来表示任意二进制数据的方法。...from xml.dom import minidom # 打开xml文件 dom=minidom.parse("D:\\pythonp\\ttt.xml") # 根据标签name获取值 names=dom.getElementsByTag

    xml 与javascript结合的问题解决方法

    XML ID=”xmldso”> <?xml version=”1.0″?>   <title>Straight Talk About Computersyyyyyyyyyy</title> <isbn>72-80088-005   <title>Straight Talk About ...

    asp.net下XML的加密和解密实现方法

    我们有3个加密xml的方法 1、仅仅使用对称加密的方法加密xml 这种加密方法只使用一个密钥,也就是说无论是加密xml还是解密xml都使用一个相同的密钥。因为这个密钥不会在被加密的xml中保存,所以我们需要在加密和解密...

    ASP.NET中根据XML动态创建使用WEB组件

    前段时间笔者在开发中需要动态创建WEB组件,本以为是小事一桩,谁知看时容易做时难。里面还真有些小问题。... 二、读取XML文件 读取XML文件在很多的资料中都有详细的说明,而且相信很多朋友都已经很好的掌握了其技

    ASP.NET下使用xml反序列化、缓存依赖实现个性化配置文件的实时生效

    因为一些配置属性比较多,存在多组属性,因此结合xml解析、缓存技术,实现配置文化的自动解析、存入缓存、缓存依赖实时更新配置内容。 配置文件反序列化存入缓存的核心方法: public Class.Settings GetSettings() ...

    Android代码-Android开发规范

    摘要 1 前言 2 AS 规范 3 命名规范 4 代码样式规范 ...编辑完 .java、.xml 等文件后一定要 格式化,格式化,格式化(如果团队有公共的样式包,那就遵循它,否则统一使用 AS 默认模板即可); 删除多余的 imp

    Flex 结合 ASP.net应用

    自己做的一个Flex范例。 这是一个简单的登录范例。把用户名及密码传到ASP.NET的页面,ASP.NET返回XML结果Flex 显示。

    Android Studio中CodeStyle模板的配置方式

    在团队开发中,统一代码规范和风格是提高团队效率的必要工作。AS提供了 Code Style 配置方法,...将下载好的文件中 SquareAndroid.xml,导入 AS 然后结合自己团队定义的代码风格进行一些调整,将调整好的 Code Style

    asp+access音乐播放器源码

    asp+access音乐播放器源码,这个播放器界面用FLASH制作,使用AS3开发,后台结合ASP+ACCESS,另外包含几个JS文件。 播放器的主要功能包括播放MP3、MP4、FLV、WMA、RM等文件。可以选择播放、暂停、停止、快进、快退、...

    C#本质论(第3版)

    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图片滚动【左右滚动】.rar

    响应鼠标的Flash图片滚动【左右滚动】,鼠标移动的快,图片滚动的速度也会加快,反之就会变慢,点击图片后会打开指定的URL,用了比较多的AS脚本,链接地址和图片路径在DATA.XML文件里修改,这是一个Flash结合XML形成...

    JSP訳文--工具--Java

    ASPer看过来 困扰JSP的一些问题:jsp和宏之间的争议 jsp的5个不足之处 JSP不能代替Servlet Resin中的JSP范例 JSP发送邮件 jsp如何与ejb通信 Servlet和JSP的通信 jsp与applet通信 在JSP中...

    serviceMix

    企业服务总线(EnterpriseServiceBus,ESB)从面向服务体系架构(Service-OrientedArchitecture,SOA)发展而来,是传统中间件技术与XML、Web服务等技术结合的产物。 ESB提供了网络中最基本的连接中枢,是构筑企业...

    使用xmlHttp结合ASP实现网页的异步调用

    通过xmlHttp和ASP的结合,我们可以轻松完成网页的异步调用。代码如下:1.新建Display.asp(这是前台显示页面)注意xmlhttp.readyState的4个属性1:LOADING;2:LOADED;3:INTERACTIVE;4:COMPLETED <%@ Language=...

    SpriteSheetViewer 精灵表动画查看器V1.0.2 with starling

    3.单指拖动和双指缩放; 4.整张Sheet的预览; 5.UI做了一些调整,比如增大了按钮,改变了文字样式和蓝框的粗细等等,个人感觉好看一些了。 6.显示当前实例数量,可结合当前帧率来决定可以放多少个进入游戏而保证...

    ActionScript 3.0 语言和组件参考

    《ActionScript 3.0 语言和组件参考》概述《ActionScript 3.0 ... 应结合其它指导性媒体来使用本参考,例如《ActionScript 3.0 编程指南》以及 Adobe 网站上的资源(如 Flex Developer CenterFlash 开发人员中心)。

    Ethercat-Ighmaster.txt

    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'. ...

    SpriteSheetViewer 精灵表动画查看器V1.0.2 with Starling 桌面版

    3.单指拖动和双指缩放; 4.整张Sheet的预览; 5.UI做了一些调整,比如增大了按钮,改变了文字样式和蓝框的粗细等等,个人感觉好看一些了。 6.显示当前实例数量,可结合当前帧率来决定可以放多少个进入游戏而保证...

Global site tag (gtag.js) - Google Analytics