当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > FlashMX2004中的XML应用之原理篇

Flash动画制作
Flash教程:AS打造鼠标控制转动地球仪
Flash教程:打造窗之恋音乐动画
Flash教程:可爱卡通小蜜蜂睡觉了
Flash教程:送给初学者的一点使用技巧
Flash教程:用AS给自己制作个性月历
Flash教程:格斗动画制作的理论基础(一)
Flash初级教程:怎样阅读swf格式的教程
Flash教程:简单光晕效果的制作
Flash教程:教你制作梦幻仙境效果
Flash教程:纯AS打造3d小方块【代码解释】
Flash教程:AS下雨动画效果的制作
Flash教程:带AS的图片环绕旋转效果制作方法
Flash教程:利用引导线制作动态爱心两例
Flash教程:一个很好玩的响应鼠标打击动作的实例
Flash教程:漂亮的水滴滑落效果制作
Flash教程:逐帧动画打造花吃蝴蝶效果
Flash教程:旋转花朵效果的制作
Flash初学者基础教程:flash的入门
Flash教程:跳动的火焰效果
Flash教程:关于Loaling的详细解释

Flash动画制作 中的 FlashMX2004中的XML应用之原理篇


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 73 ::
收藏到网摘: n/a

一、有关XML

1、XML入门知识

    XML(eXtensible Markup Language)是一种具有数据描述功能(Meta-language)、高度结构性及可验证性的语言。和HTML一样,XML同样使用了标记和属性;和HTML最大的不同在于XML的标记和属性允许用户自行定义,并可以依照所定义的标记与属性的语法来开发应用程序。XML采用了开放架构设计,它允许在Internet上的任何平台或语言之间交换数据。这项技术已经被广泛采用,目前几乎难以找到一个不以某种方式使用XML的应用程序。

一个简单的XML文件如下所示:

<XML><FLASH><A1>XML入门知识</A1><A2>撰写XML</A2></FLASH><OTHER><A1>为什么是XML</A1></OTHER></XML>

 

在中涉及的XML不会很复杂,能看懂类似上面这样的XML文件,足已对付。

2、为什么在Flash中用XML

    首先,大多数浏览器限制了URL为256个字符(包括查询字符串数据)。而XML对象没有这样的限制,这就使它成为将内容加入Flash动画的一个理想方法。

    其次,XML对象允许输入和集成任何Web上的XML格式的数据到Flash中,Flash能够将XML数据和精彩的动画及声音无缝结合起来。
另外,Flash几乎拥有在任何平台上处理XML的能力。一般来说,大多数XML转换是在端处理的,因为浏览器对XML的支持不是很完全。
但是,Flash载入一个外部XML文件如果超过15秒就会超时,它不会再进行载入,Flash Player和动画会停止。同样的,在浏览器中使用load或sendAndLoad载入64K或更大的数据会导致性能问题。其特征包括服务器应答"Error 501-Not Implemented"或浏览器的无响应状态。Flash Player也不能从外部Web站点上载入XML文件。Flash动画只能从它自己的域里载入XML数据。例如,一个在adomain.com上的Flash动画就不能从bdomain.com读取或载入XML数据。

二、Flash中XML应用的原理

    从Flash MX开始,对XML的支持已经初具规模,在Flash MX 2004中得到了加强,现在用Flash MX 2004来做有关XML的应用已经很方便了。在Flash MX 2004中使用XML主要有两种方式,使用XML对象和使用XMLSocket对象。使用XML对象应用的是HTTP的通讯方式,而使用XMLSocket对象应用的是Socket的通讯方式,两者有比较大的区别。

下面分别介绍使用XML的两种方式。

1、使用XML对象

    在网络应用中,使用XML对象应用HTTP的通讯方式,基本的通讯模式仍然是请求响应。先在Flash中对数据进行处理,生成XML树,然后通过HTTP的通讯方式将XML文件发送到服务器端。在服务器端,先对接收到的XML树进行解释,再根据流程做相应的操作,比如读写数据库或的资源,然后生成XML树,通过HTTP的通讯方式将XML文件发送到Flash端。最后在Flash端接收XML文件,对XML树进行解释,对相应的数据进行操作,如此循环。其通讯原理请参考图1。

      

下面分别介绍Flash端和服务器端的东西。

A、Flash端:主要用到XML对象中的send()、load()、sendAndLoad()、onLoad()、onData()及其他操纵XML树的方法与事件。

比如,生成XML树的代码如下:

loginXML = new XML(); //生成一个XML对象loginElement = loginXML.createElement("LOGIN"); //生成一个元素loginElement.attributes.username = username; //设置元素的属性loginElement.attributes.password = password;loginXML.appendChild(loginElement); //将所生成的元素加到XML对象

解释XML树的代码如下:

loginReplyXML = new XML(); //生