XML到ArrayCollections

时间:2010-04-13 16:26:01

标签: actionscript-3 arraycollection

如何将XML数据插入AS3中的ArrayCollection

2 个答案:

答案 0 :(得分:0)

如果可能,请使用XMLListCollection。假设你有一些像

这样的XML
var xml:XML =
<doc>
    <node/>
    <node/>
    <node/>
</doc>

您可以像这样创建节点的XMLListCollection:

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

如果您确实需要ArrayCollection,则必须迭代xmllist中的每个项目并将其添加到ArrayCollection中。没有内置API可以为您执行此操作。

答案 1 :(得分: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;   
}