2010-04-13 38 views

回答

0

如果可能,請使用XMLListCollection。假設你有一個像

var xml:XML = 
<doc> 
    <node/> 
    <node/> 
    <node/> 
</doc> 

一些XML可以創建節點爲XMLListCollection像這樣:

var xmllist:XMLListCollection = new XMLListCollection(xml.node); 

如果你真的需要一個ArrayCollection你必須遍歷在XMLList中的每個項目,並把它添加到您的ArrayCollection中。 API中沒有內置功能可以爲你做到這一點。

0

有幾個選項可以將XML數據轉換爲Array,但我選擇使用這一個。

首先創建XML類的xmlNode實例。

var xml:XML = 
    <doc> 
     <node/> 
     <node/> 
     <node/> 
    </doc> 

public var xmlNode:XML; 

public function init():void 
{ 
    var myPanel:Panel = new Panel();    
    var myTree:Tree = new Tree(); 

    myTree.dataProvider = xml; 
    myTree.addEventListner(Event.CHANGE,onChange); 
    this.addChilt(myPanel); 
    myPanel.AddChild(myTree); 
    trace(xmlNode); 
} 

public function onChange(e:Event):void 
{ 
    xmlNode = Tree(e.target).selectedItem as XML; 
}