当前位置:文档之家› FLASH调用XML数据简明教程

FLASH调用XML数据简明教程

FLASH调用XML数据简明教程简介:在FLASH中如何调用XML数据,该教程做了实例型的讲解,内容基础,讲解清晰……一、建立XML对象:var myXML = new XML();二、引用XML文件:myXML.load("data.xml");三、忽略空格:myXML.ignoreWhite = true;//默认的为false四、处理XML对象的函数:myXML.onLoad = function(success) {statements;}五、data.XML文件的内容<data1 name="imagebear"><data2 name="mariger">xiaoshandong</data2><data3 name="mariger3">xiaoshandong3</data3></data1>六、返回值实例1、myXML.childNodes[0]将返回:<data1 name="imagebear"><data2 name="mariger">xiaoshandong</data2><data3 name="mariger3">xiaoshandong3</data3></data1>2、myXML.childNodes[0].nodeName将返回:data13、myXML.childNodes[0].childNodes[0].name将返回:imagebear4、myXML.childNodes[0].childNodes[0]将返回:<data2 name="mariger">xiaoshandong</data2>5、myXML.childNodes[0].childNodes[0].nodeName将返回:data26、myXML.childNodes[0].childNodes[1]将返回:mariger37、myXML.childNodes[0].childNodes[0].childNodes[0].nodeValue将返回:xiaoshandong 8、var myName = myXML.firstChild.firstChild;trace(myName.nodeName);//将输出data2myName = myName.nextSibling;trace(myName.nodeName);//将输出data3childNodes[0]等价于firstChild七、附:测试用的代码,XML文件如楼上所示var myXML = new XML();myXML.load("data.xml");myXML.ignoreWhite = true;myXML.onLoad = function(success) {if(success) {//myArray = myXML.childNodes[0];//trace();//trace(myXML.childNodes[0].childNodes[1].firstChild.nodeValue);//trace(myXML.firstChild);//trace(myXML.childNodes[0].nodeName);//trace();//trace(myXML.childNodes[0].childNodes[1].nodeName);//trace(myXML.childNodes[0].childNodes[1]);//trace(myXML.firstChild.firstChild);//trace(myXML.firstChild.firstChild.nodeName);//trace();//trace(myXML.childNodes[0].childNodes[0].childNodes[0].nodeValue);var myName = myXML.firstChild.firstChild;trace(myName.nodeName);myName = myName.nextSibling;trace(myName.nodeName);}};如何利用Flash来读、写文本文档(*.txt)呢?解决思路:这种问题在实际应用中经常遇到,尤其是一些简单的如Flash计数器,Flash留言本都可以使用文本文档来存放数据。

但是写文本文档光靠Flash本身是很难做到的,我们还需要使用Asp来配合才能做的更加出色。

我们都知道Flash可以与Asp进行数据通信。

我们要做的只是把从Flash里收集的信息,传递给Asp,然后通过Asp的FSO把信息写入到文本文件中去。

在Flash向Asp发送信息的过程主要是使用Flash中的LoadVars对象。

而在Asp接收Flash传过来的信息,主要是依靠Asp的request对象。

具体步骤1.Flash+Asp写入文本文档首先新建一个Flash文件,我们新建两个层,分别叫action层和text层。

Action层上插入4个关键帧,给其中第二个关键帧起上帧标签“loop”。

在text层上插入两个关键帧。

注意:“loop”帧是用来循环检测通信是否结束的,所以可以适当的延长几帧,如图5.4.1所示。

图5.4.1 Flash中时间轴的设计安排action层第一帧处AS:ecodepage = true; //支持中文submit.onRelease = function() {txtload = new LoadVars(); //利用LoadVars对象与Asp进行通信txtload.message = message.text;txtload.sendAndLoad("write.asp", txtload, "post");gotoAndPlay("loop");};stop()action层第三帧处AS:if (txtload.eof == "ok") {play(); //判断通信任务是否完成,如果完成则继续往后,如果没有则退回loop帧,重新进入判断,如此循环} else {gotoAndPlay("loop");}Action层第四帧处AS:back.onRelease = function() {gotoAndPlay(1);};stop(); //这一帧主要是显示成功后的提示Text层第一帧:放置一个输入文本命名为message,设置为多行文本,如图5.4.2所示。

图5.4.2输入框message的属性设置接下来放置一个scrollbar组件,放在刚刚的message的旁边,并设置该scrollbar的Target TextField为message,如图5.4.3所示。

图5.4.3设置scrollbar组件最后再放置一个按钮,并为其命名为submit。

Text层第二帧(最后一帧,具体位置参看上图):放置一个按钮,命名为back好到这里为止我们把write.fla部分做好了,接下来我们来看看我们的Asp部分write.asp文件:<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><%’首先定义必需的变量。

Dim ObjFSO,ObjTextFile,strFileName,message’通过request从flash处接受数据message=request.form("message")’创建Scripting.FileSystemObject部件set ObjFSO = Server.CreateObject("Scripting.FileSystemObject")’打开读写的文件strFileName = server.MapPath("flash8.txt")set ObjTextFile=ObjFSO.CreateTextFile(strFileName)’文件读写操作,即把刚才接收到message写入文本文档ObjTextFile.WriteLine message’关闭文件ObjTextFile.Close’释放对象引用set ObjTextFile = Nothingset ObjFSO = Nothing’传递给flash一个变量,通知其已成功写入response.Write("eof=ok")%>1.如果你已经把上面的写入文本调试成功,那么Flash+Asp读取文本文档都是大同小异,应该可以很快的理解了,我就在这里直接列出代码了。

首先新建一个Flash文件,我们新建两个层,分别叫action层和text层。

和上面其实是一样的。

action层上插入4个关键帧,给其中第二个关键帧起上帧标签“loop”。

在text层上插入两个关键帧。

如图5.4.4所示。

图5.4.4 Flash中时间轴的设计安排action层第一帧处AS:ecodepage = true;submit.onRelease = function() {txtload = new LoadVars();txtload.Load("read.asp");gotoAndPlay("loop");};stop();action层第三帧处AS:if (txtload.eof == "ok") {play();} else {gotoAndPlay("loop");}l action层第四帧处AS:message.text = txtload.message;back.onRelease = function() {gotoAndPlay(1);};stop();Text层第一帧:放置一个按钮,命名为submit(这里和write.fla略有不同,两帧的内容调换了)Text层第二帧(最后一帧,具体位置参看上图):放置一个动态文本命名为message,设置为多行文本,接下来放置一个scrollbar组件,放在刚刚的message的旁边,并设置该scrollbar的Target TextField为message。

相关主题