下面就是怎么在Flash中調(diào)用XML文檔和處理XML中的數(shù)據(jù).
Flash方面:
在Flash中調(diào)用xml文檔需要用到XML類和XMLNode類中的一些方法和屬性.這里我們就不需要用到那么多.把用到的方法和屬性列出來:
XML類:
- XML.ignoreWhite;//處理xml文檔中的空白,設(shè)為true時,忽略空白,默認(rèn)值為false.
- XML.load("xml文檔的地址");//加載指定的xml文檔.
- XML.onLoad=function(success:Boolean){};//成功加載了xml文檔時調(diào)用.
- XML構(gòu)造函數(shù).
XMLNode類:
- XMLNode.attributes;//用來指定xml文檔對象節(jié)點(diǎn)的屬性.
- XMLNode.childNodes;//返回指定xml文檔對象的子級的數(shù)組.
- XMLNode.firstChild;//引用父級節(jié)點(diǎn)的子級列表中的第一個子級.
- XMLNode.nodeValue;//返回XML對象的節(jié)點(diǎn)值.
- XMLNode.nodeName;//XML 對象的節(jié)點(diǎn)名稱
開始實(shí)驗:
首先說明: 在xml聲明處加上encoding="gb2312".使用gb2312編碼.; Flash中如果有中文需要在加載代碼前面加上System.useCodepage = true; 使用系統(tǒng)編碼.防止亂碼.
實(shí)驗1:
一個簡單的實(shí)驗.把xml文檔中的節(jié)點(diǎn)在Flash輸出來. 新建一個xml文檔.在記事本輸入下面的代碼.保存為 xml-001.xml ;
<?xml version="1.0"?> <!--xml-001.xml--> <firstNode name="1"> <childNode name="1.1" /> <childNode name="1.2" /> <childNode name="1.3" /> </firstNode>
上面是一個簡單的xml文檔.結(jié)構(gòu)是一個頂層節(jié)點(diǎn)中嵌套三個子級節(jié)點(diǎn).現(xiàn)在在Flash中如何讀出來呢?
來看操作:
打開Flash,新建一個Flash文檔,保存到剛才的xml文檔中的目錄中,命名 xml-001.fla ; 在第一幀輸入下面代碼:
//xml-001.fla. //實(shí)例化一個xml對象. var myxml:XML = new XML(); //分析時忽略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); //用一個數(shù)組來引用頂層節(jié)點(diǎn)中子級節(jié)點(diǎn)的數(shù)組. var child_arr:Array = myxml.firstChild.childNodes; //用嵌套for語句遍歷出xml文檔中的所有數(shù)據(jù). //這個for遍歷的是頂層節(jié)點(diǎn)下的子級節(jié)點(diǎn). for (var i = 0; i<child_arr.length; i++) { //輸出頂層節(jié)點(diǎn)下的子級節(jié)點(diǎn)的節(jié)點(diǎn)名和頂層節(jié)點(diǎn)下的子級節(jié)點(diǎn)中屬性name的值. trace(child_arr[i].nodeName+":"+child_arr[i].attributes.name); } } else { trace("加載失敗!"); } };
出處:藍(lán)色理想
責(zé)任編輯:moby
上一頁 Flash處理外部XML文檔數(shù)據(jù) [1] 下一頁 Flash處理外部XML文檔數(shù)據(jù) [3]
◎進(jìn)入論壇Flash專欄版塊參加討論
|