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

Flash动画制作
Flash 3d效果精彩实例(5)
贺新年 制作五彩缤纷焰火动画
FlashMX2004中的XML应用之原理篇
制作一个骄艳的鲜花情人Flash贺卡
有趣 用Flash制作互动的小人
Flash制作鸡年新春动画贺卡
Flash MX 2004 UI组件系列教程(3)
Flash加载外部文件(5)
Flash MX 2004 UI组件系列教程(4)
Flash加载外部文件(2)
Flash加载外部文件(3)
一个最简便的代码实现任意数字和0的来回跳转
让Flash课件中测试题信手拈来
MX中如何实现swf文件的完美跳转
三分钟理解Flash中的级别关系
flash与ASP通信的几种方法
flashMX2004视频插件的应用教程
如何做好一个多人配合的flash项目
AS计算方面的错误
如何防止SWF文件被反编译

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 77 ::
收藏到网摘: 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(); //生