Flash MX 2004中的XML应用之原理篇
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-09
进行操作 var e = this.firstChild; //解释返回的XML文件 if (e.nodeName == "LOGINREPLY" && e.attributes.status == "OK") { //根据返回的XML文件中的数据做相应的操作 gotoAndStop ("success"); } else { gotoAndStop ("loginFailed"); }} 有关XML数据的通讯代码如下: loginXML.sendAndLoad("http://www.pcedu.com.cn/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端 Response.Write(xmlRepley.xml); C、还有一种情况是操作本地的XML文件,无非也就是生成、解释XML文件,得到所要的数据,只不过不需要在服务器端做其他的操作了。比如,读一个本地的XML文件的代码为: playlist_xml = new XML(); //创建一个XML对象 playlist_xml.ignoreWhite = true; //省略空白 playlist_xml.onLoad = function(success) { //当加载XML文件成功的时候触发此函数 trace("success"); } playlist_xml.load("playlist.xml"); //加载本地的XML文件 值得说明的是,上面所涉及的代码都是举例而已,实际应用中的代码可能会复杂很多。但其中的原理都是相通的,先生成XML文件,发送到服务器端,最后将服务器端返回的XML文件解释。只要思路清晰,做起来就比较有效率,也不容易出错。 2、使用XMLSocket对象 在网络通讯中,使用XMLSocket对象的通讯方式为Socket,(所谓的Socket,可以将它想象为一条通路,需要通讯的时候,在客户端跟服务器端建立一个连接,然后传送内容,通讯完毕后再撤销这个通路)。Flash端跟服务器端的通讯模式为:先在Flash端跟服务器端建立一个Socket连接,生成XML文件后,通过所建立的Socket连接将XML文件发送到服务器端,服务器端解释所接收到的文件,对数据进行相应的操作后,生成一个XML文件,通过Socket连接发送到Flash端,Flash端解释XML文件后就得到所需要的数据。如此循环,操作完成后关闭Socket连接。有点难懂,可以参考图2仔细想想。 下面分别解释在Flash端跟服务器端的东西。 A、在Flash端:XMLSocket对象中,只有三个方法和四个事件,都是在Socket通讯时候用的,对XML文件的操作还是要靠XML对象。比如,下面是一些简单的Socket操作: //声明XMLSocket对象 var mySocket=new XMLSocket(); //根据IP地址和端口连接服务器 mySocket.connect("127.0.0.1",9980); //连接成功与否的判断 mySocket.onConnect=function(sucess){ if(success){ trace("连接成功"); }else{ trace("连接失败"); } } //当接收到XML文档的时候,触发此函数 mySocket.onXML=function(xmlDoc){ …… } B、在服务器端:选用服务器端的开发语言的标准是,起码要能够做Socket方面的操作(复杂的应用当中还需要多线程、负载平衡等方面的东西)。比较常用的有C/C++、Java,其他的比如Delphi、VB等工具对Socket的操作就有点不方便。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Flash MX 2004中的XML应用之原理篇的所有评论