As3.0 xml + Loader應用代碼_Flash as3

來源:互聯網
上載者:User
AS2.0對XML的支援不是內建的(build-in),也並非基於ECMAScript for XML(E4X)標準。而AS3.0中對XML的支援符合E4X標準,它的設計有三個優點: 
1. 簡易。包括操作和可讀性。你會發現AS3.0中對於XML的操作猶如對一個普通Object對象一樣淺顯易懂。語句非常淺白流暢。 
2. 連續性。其各個功能的設計和AS3.0其餘的部分思想一致,易於理解。 
3. 熟悉。操作符和操作邏輯對我們來說都相當熟悉易用。 
在AS2.0時代,為瞭解決這部分的問題 

效率。 
效率包括兩方面,開發效率,和代碼執行效率。開發效率的論述見上。AS3.0對於XML的執行效率遠遠高過沒有內建XML支援的AS2.0。 

XML的輸入 

在AS2.0時代,在程式碼中輸入XML代碼是一種痛苦。如果不是從檔案中讀取,那麼我們就要忍受一長串擠在一塊兒的字串。 

而在AS3.0中,太簡單了。直接按照XML的內容輸即可,想換行就換行,想Tab就Tab,就一個字,爽。 

建立一個fla,選中第一幀,F9開啟動作面板,輸入如下代碼: 

//http://www.kingda.org 
//例1 
var kingdaXML:XML = 
<tutorial> 
<item id='1'> 
<level>2</level> 
<title> First touch of Flash 9</title> 
</item> 
<item id='2'> 
<level>3</level> 
<title> Binding Classes</title> 
</item> 
<item id='3'> 
<level>4</level> 
<title>Document Class</title> 
</item> 
</tutorial> 
trace (kingdaXML.item[1].level); //output:3 
//例2 
var kS:String = "<root><txt>this is a test</txt></root>"; 
var kXML:XML = new XML(kS); 
trace (kXML.txt); //output:this is a test; 

例1中注意到沒,直接寫XML內容在後面,想換行就換行,想tab就tab,多爽。不想AS2.0中寫string時,換個行就不行了。 

寫完這一句後,我們所寫出的類似於string的形式立刻就被Flash理解成了XML對象了,所以我們馬上就可以用"."操作符來訪問相應的屬性。本例中訪問了第2個item節點的level值。 

這麼簡便直觀的訪問方式是不是比 AS2.0中那千遍一律的childNodes要好得多? 

不過要注意,最後可以加";"結束。但我為了XML的視覺美觀沒有加。這個沒有關係,編譯時間不會考慮這一點。 

事實上只要你喜歡,AS1.0, 2.0, 3.0中語句結束都可以不加";"號。但是這並不是一個好的編程習慣,更不符合嚴謹的自我文法要求。因此我建議,除了XML可以不加外,其餘的都應該加,呵呵。 

例2展示了如何將一個包含了XML內容的字串轉換成XML對象。用的是XML的建構函式轉換的。 

AS3更有趣的是,可以使用已有的變數來直接構造XML,帶來方便的編程特性。如下例。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.