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