邮件订阅
5ucms仿站,FlashMX2004中的XML应用之原理篇
作者: 来源: 日期:2017/3/14 6:43:23 浏览量:37(滞后) 人气:LOADING...(实时) 【

5ucms仿站,FlashMX2004中的XML应用之原理篇

一、有关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>

 

在Flash中涉及的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上的Flash动画就不能从bdomain读取或载入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()、>loginXML = new XML(); //生成一个XML对象loginElement = loginXML.createElement("LOGIN"); //生成一个元素loginElement.attributes.username = username; //设置元素的属性loginElement.attributes.password = password;loginXML.appendChild(loginElement); //将所生成的元素加到XML对象

解释XML树的代码如下:

loginReplyXML = new XML(); //生成一个响应的XML对象loginReplyXML.>loginXML.sendAndLoad("http://pcedu/test.asp", loginReplyXML);//根据URL去取响应的XML文件到响应的XML对象中

B、在服务器端:常用的工具有Asp、Jsp、PHP、Perl等等脚本语言,它们所起的作用是操纵XML树和数据的通讯。

下面以常用的Asp为例,解释XML树的代码为:

//创建一个新的DomDocument对象,存客户端传送过来的XML请求var xmlLogin = new ActiveXObject("Msxml2.DomDocument");//从发送来的表单中取得数据xmlLogin.loadXML(Request.Form());//创建XML元素var reElement = xmlLogin.documentElement;//提取用户名和密码信息password = reElement.attributes[0].nodeValue;username = reElement.attributes[1].nodeValue;

生成XML树的代码为并发送的代码为:

//创建一个新的DomDocument对象,向客户端发送var xmlRepley = new ActiveXObject("Msxml2.DomDocument");//创建一个简单的XML文件xmlRepley.loadXML("<LOGINREPLY login=''1'' msg=''"+Msg+"'' />");//也是通过Write()的方法将XML文件返回到Flash端Resp>playlist_xml = new XML(); //创建一个XML对象playlist_xml.ignoreWhite = true; //省略空白playlist_xml. width=410>

下面分别解释在Flash端跟服务器端的东西。

A、在Flash端:XMLSocket对象中,只有三个方法和四个事件,都是在Socket通讯时候用的,对XML文件的操作还是要靠XML对象。比如,下面是一些简单的Socket操作。

//声明XMLSocket对象var mySocket=new XMLSocket();//根据IP地址和端口连接服务器mySocket.c>//运用多线程防止服务器阻塞public class MultiThreadServer extends Thread {  private ServerSocket listen_socket;  public MultiThreadServer(int port) {    try{      listen_socket = new ServerSocket(port); //创建一个服务器端的Socket      this.start(); //启动多线程      }catch(IOException e) //捕捉异常      {        e.printStackTrace();      }    }//下面为服务器监听线程的主程序。public void run() {  while(true)  {   //死循环,一直在端口上监听有无客户端的Socket连接    try {    //有客户端连接上来,创建一个相应的Socket,并启动响应的函数      Socket client_socket= listen_socket.accept();      SockState sstate=new SockState(client_socket);      OperThread oper=new OperThread(sstate);      }catch(Exception ee) {        System.out.print("MultiThreadServer run:"+ee.getMessage());      }    }  }}

3、XML在Flash中主要涉及两方面的应用,本地应用和网络应用。

    本地应用主要是存取XML文件中所保存的数据,这里所指的数据并不一定限定是文本数据,也可以是图片数据,声音数据等等。比如可以用Flash + XML来做图片管理器,歌曲列表管理器,用处还是比较大的,也比较灵活。

    网络应用是XML在Flash中的主要用途,它的优缺点在前面内容中已经提到。比如说,可以用来做电子商务方面的应用、论坛、聊天室等等。

欢迎您访问www.5ucms.org


本站推荐: 5ucms模板下载 5ucms插件下载 仿站联系Q3876307       [复制给好友] [打印] [关闭] [返回] [顶部]
上一篇:5ucms插件,制作一个骄艳的鲜花情人Flash贺卡
下一篇:5ucms培训,Flash 3d效果精彩实例(5)
本站声明:本网站所载文章等内容,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权及其它问题,请在30日内与本网联系(Email:3876307#qq.com),我们将在第一时间删除内容。若原创内容转载请注明出处。
5ucms仿站,FlashMX2004中的XML应用之原理篇的关键词:
评论信息
相关分类
本周热门
本月热门
关于我们 - 版权/免责 申明 - 建站服务 - 网站地图 - 稿件投递 - 联系我们 - 5ucms
Copyright © 2008-2015 www.5ucms.org