学院首页>图形图像>FLASH>Flash MX 2004中的XML应用之原理篇

Flash MX 2004中的XML应用之原理篇

作者: 来源: 添加时间:2006-5-23 7:20:03
下面分别介绍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(); //生成一个响应的XML对象
loginReplyXML.onLoad = onLoginReply(); //设置响应XML对象下载事件的函数
function onLoginReply () { //对返回的XML文件进行操作
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 页,共 3 页 [1] [2] [3]
站内搜索