其实标题只是一个噱头罢了,只是想谈一下,Javascript 与 Actionscript 是如何操作XML的。
希望能协助一些只用 Javascript 或 只懂 Actionscript 的朋友,了解两者的相反与不同之处。
Flash 与 后台连接有许多种,Actionscript 调用 XML() 算是比较简单的一种了,
而Javascript 调用 xmlHttp ,便构成了如今很流行的Ajax了。
如今就用一个网上常出现的分页效果来对 Flash 和 Ajax 做个入门学习。
效果预览源文件下截:
点击这里下载源文件实际运用中普通是通过后台脚本生成XML文件,再对其产生的数据进行操作
由于篇幅关系在本文中将用1.xml 2.xml 3.xml代替。后台脚本不做说明
首先了解一个XML的结构:
<data>
<movie id="1" type="爱情">幸福起点站</movie>
<movie id="2" type="恐怖">绝命终结站</movie>
<movie id="3" type="喜剧">恐怖电影</movie>
…
….
</data>
从简单的Flash开始吧
function setxml(page){
pageXml = new XML(); //申明XML对象
pageXml.ignoreWhite = true; //允许空白
pageXml.load(page+".xml?rid="+Math.random()); //读取XML文件
pageXml.onLoad = function(success)
{
if (success)
{
parseXml(pageXml); //如果读取成功,分析XML文件
}
}
}
function parseXml(pageXml){
xmlroot = ageXml.firstChild; //定义XML根目录
for (i=0;i<xmlroot.childNodes.length;i++)
{
attachMovie("tr","tr_"+i,i); //生成行
this["tr_"+i]._x = 13;
this["tr_"+i]._y = 25*i+33;
this["tr_"+i].no = xmlroot.childNodes[i].attributes.id; //取得一条记录的ID
this["tr_"+i].name = xmlroot.childNodes[i].firstChild; //片名
this["tr_"+i].type = xmlroot.childNodes[i].attributes.type; //类型
page = pageXml.firs