資源描述:
《XML在與FLASH交互簡易教程》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、一、書寫標準的XML需要注意以下幾點:1、一個標準的XML文檔必須要在第一行以""開頭,以及一個"/>"結尾,其中開頭部分需申明XML的版本,如:version="1.0",也應包含一個關于編碼的聲明:“encoding="utf-8"”;2、XML要求所有的標簽必須在文檔結束之前被閉合,如果標簽中包含內容,則必須寫成“<標簽名>內容標簽名>"的格式,如果內容為空,則應寫在標簽名>的格式;即,后面必須有這種格式的。3、每個XML都有有一個根元素,也叫根節(jié)點。4、節(jié)點有節(jié)
2、點值和屬性。5、XML的節(jié)點值如果出現(xiàn)與XML標簽關鍵字一樣的字符,XML將會無法解析文檔,比如,某個節(jié)點值如果是一個大于或者小于號,就會讓解釋器產生一個錯誤,二、在FLASH中創(chuàng)建一個簡單的實例://創(chuàng)建一個新的XML類實例varmy_XML:XML=newXML();//創(chuàng)建一個TextArea組件,用于顯示此XML內容varmy_TextArea:mx.controls.TextArea;//加載外部XML文件//如果加載的XML文件在該FLASH目錄的上面,就用../my_xml.xml,如果在下
3、面呢,就用aaa/my_xml.xml,這樣的.my_XML.load("my_xml.xml");//為load函數(shù)定義onLoad函數(shù)---此處是必須的。只有當加載成功后,才能控制XML。否則不能。my_XML.onLoad=function(ok:Boolean){if(ok){my_TextArea.text+=this;}else{my_TextArea.text+="加載失敗..."}}//勿略空白:my_XML.ignoreWhite=true;三、關于FLASH解析XML詳解,說白了,也就
4、是對節(jié)點的讀取。首先,來看看這幅圖,稍微加點印象。下面,我將對XML文件的解析方面做詳細的介紹。為了便于講解,在此,我舉一個簡單的例子。1、新建一個記事本文件,在里面輸入如下內容:<襯衣顏色="白色"品牌="雅戈爾">1件襯衣><褲子顏色="深藍"品牌="王子褲">2件褲子><鞋子顏色="黑色"品牌="紅蜻蜓">3雙鞋子><總花費金額><打的費>50元打的費><貨物金>1000元貨物金>總花費金額>購買物品
5、>然后保存為"goods.xml",注意,在編碼處,要選擇"Unicode"。2、下面,就對里面的各項值進行解讀。讀取整個XML文件的方法:在剛才的XML的同級目錄下新建一FLA文件,然后在場景中放置一TextArea組件。并賦實例名“my_TextArea”,然后在第一幀中添加如下代碼:varmy_XML:XML=newXML();System.useCodepage=true;varmy_TextArea:mx.controls.TextArea;my_XML.load("goods.xml")my_
6、XML.onLoad=function(ok:Boolean){if(ok){my_TextArea.text+=this;}else{my_TextArea.text+="加載失敗"}}按CTRL+ENTER測試,即可以看效果。首先,我們來看看如何對XML中的節(jié)點名稱或者節(jié)點屬性進行讀取呢?比如,我們要讀取如例子中的"購買物品"這幾個字符,該如何操作呢?我們使用如下語句:this.firstChild.nodeName;如果要讀取"襯衣":this.firstChild.childNodes[0].no
7、deName;如果要讀取"1條":this.firstChild.childNodes[1].childNodes[0].nodeValue;如果要讀取褲子的品牌:this.firstChild.childNodes[1].attributes.品牌;將XML讀取進LIST組件中:System.useCodepage=true;varmy_TextArea:mx.controls.TextArea;varmy_List:mx.controls.List;varmy_XML:XML=newXML();my_
8、XML.ignoreWhite=true;my_XML.load("shopping.xml");my_XML.onLoad=function(ok:Boolean){??if(ok){????varchildnodes=this.firstChild.childNodes;????for(i=0;i