比較完整簡(jiǎn)潔的Flash處理XML文檔數(shù)據(jù)教程 上篇第2/3頁(yè)
更新時(shí)間:2007年12月12日 21:43:23 作者:
Flash方面::
在Flash中調(diào)用xml文檔需要用到XML類(lèi)和XMLNode類(lèi)中的一些方法和屬性。這里我們就不需要用到那么多。把用到的方法和屬性列出來(lái):
XML類(lèi):
XML.ignoreWhite;//處理xml文檔中的空白,設(shè)為true時(shí),忽略空白,默認(rèn)值為false.
XML.load("xml文檔的地址");//加載指定的xml文檔.
XML.onLoad=function(success:Boolean){};//成功加載了xml文檔時(shí)調(diào)用.
XML構(gòu)造函數(shù).
XMLNode類(lèi):
XMLNode.attributes;//用來(lái)指定xml文檔的屬性.
XMLNode.childNodes;//返回指定xml文檔對(duì)象的子級(jí)的數(shù)組.
XMLNode.firstChild;//引用父級(jí)節(jié)點(diǎn)的子級(jí)列表中的第一個(gè)子級(jí).
XMLNode.nodeValue;//返回XML對(duì)象的節(jié)點(diǎn)值.
XMLNode.nodeName;//XML 對(duì)象的節(jié)點(diǎn)名稱(chēng)
開(kāi)始實(shí)驗(yàn):
首先說(shuō)明:在xml聲明處加上encoding="gb2312",使用gb2312編碼;Flash中如果有中文需要在加載代碼前面加上System.useCodepage = true;使用系統(tǒng)編碼,防止亂碼。
實(shí)驗(yàn)1:
一個(gè)簡(jiǎn)單的實(shí)驗(yàn),把xml文檔中的節(jié)點(diǎn)在Flash輸出來(lái)。新建一個(gè)xml文檔,在記事本輸入下面的代碼。保存為 xml-001.xml 。
復(fù)制代碼 代碼如下:
<?xml version="1.0"?>
<!--xml-001.xml-->
<firstNode name="1">
<childNode name="1.1" />
<childNode name="1.2" />
<childNode name="1.3" />
</firstNode>
上面是一個(gè)簡(jiǎn)單的xml文檔,結(jié)構(gòu)是一個(gè)頂層節(jié)點(diǎn)中嵌套三個(gè)子級(jí)節(jié)點(diǎn)。
現(xiàn)在在Flash中如何讀出來(lái)呢?來(lái)看操作:打開(kāi)Flash,新建一個(gè)Flash文檔,保存到剛才的xml文檔中的目錄中,命名 xml-001.fla。在第一幀輸入下面代碼:
復(fù)制代碼 代碼如下:
//xml-001.fla.
//實(shí)例化一個(gè)xml對(duì)象.
var myxml:XML = new XML();
//分析時(shí)忽略xml文檔中的空格.
myxml.ignoreWhite = true;
//加載xml-001.xml文檔.
myxml.load("xml-001.xml");
//調(diào)用XML.onLoad事件.
myxml.onLoad = function(success:Boolean)
{
//如果加載成功,success=true;否則success=false;
if (success) {
trace("加載成功!");
//輸出頂層節(jié)點(diǎn)的節(jié)點(diǎn)名和頂層節(jié)點(diǎn)中屬性name的值.
trace(myxml.firstChild.nodeName+":"+myxml.firstChild.attributes.name);
//用一個(gè)數(shù)組來(lái)引用頂層節(jié)點(diǎn)中子級(jí)節(jié)點(diǎn)的數(shù)組.
var child_arr:Array = myxml.firstChild.childNodes;
//用嵌套for語(yǔ)句遍歷出xml文檔中的所有數(shù)據(jù).
//這個(gè)for遍歷的是頂層節(jié)點(diǎn)下的子級(jí)節(jié)點(diǎn).
for (var i = 0; i<child_arr.length; i++) {
//輸出頂層節(jié)點(diǎn)下的子級(jí)節(jié)點(diǎn)的節(jié)點(diǎn)名和頂層節(jié)點(diǎn)下的子級(jí)節(jié)點(diǎn)中屬性name的值.
trace(child_arr[i].nodeName+":"+child_arr[i].attributes.name);
}
} else {
trace("加載失敗!");
}
};
實(shí)驗(yàn)2:
現(xiàn)在做的是把一個(gè)多層嵌套節(jié)點(diǎn)的xml文檔在Flash中輸出來(lái)。新建一個(gè)xml文檔,在記事本中輸入下面的代碼,然后保存為 xml-002.xml。
復(fù)制代碼 代碼如下:
<?xml version="1.0"?>
<!--xml-002.xml-->
<firstNode name="1">
<childNode name="1.1">
<Node name="1.1.1" />
<Node name="1.1.2" />
<Node name="1.1.3" />
</childNode>
<childNode name="1.2">
<Node name="1.2.1" />
<Node name="1.2.2" />
<Node name="1.2.3" />
</childNode>
<childNode name="1.3">
<Node name="1.3.1" />
<Node name="1.3.2" />
<Node name="1.3.3" />
</childNode>
</firstNode>
相關(guān)文章
可控制Flash Player的Javascript方法總結(jié)
可控制Flash Player的Javascript方法總結(jié)...2007-03-03
在Flash 設(shè)為首頁(yè) 加為收藏實(shí)現(xiàn)代碼
一直都是用js實(shí)現(xiàn)設(shè)為首頁(yè)和加為收藏頁(yè)面實(shí)現(xiàn) 在Flash中實(shí)現(xiàn)“設(shè)為首頁(yè)”和“加為收藏”功能是使用Get URL結(jié)合JavaScript來(lái)實(shí)現(xiàn)的。2009-03-03
圖文演示Flash+ASP實(shí)現(xiàn)用戶(hù)登錄/注冊(cè)程序
圖文演示Flash+ASP實(shí)現(xiàn)用戶(hù)登錄/注冊(cè)程序...2007-12-12
Flash ActionScript 中按鈕和電影剪輯的事件和方法
Flash ActionScript 中按鈕和電影剪輯的事件和方法...2007-03-03
AS3.0 實(shí)例學(xué)習(xí) 熟悉tween以及tweenEvent的運(yùn)用
AS3.0 實(shí)例學(xué)習(xí) 熟悉tween以及tweenEvent的運(yùn)用...2007-12-12
FlashObject之Flash的檢測(cè)和嵌入Javascript腳本
FlashObject之Flash的檢測(cè)和嵌入Javascript腳本...2007-03-03

