Как добавить XML-файл в коллекцию массивов в Flex?

#xml #apache-flex

#xml #apache-flex

Вопрос:

я создал одну коллекцию массивов в flex. и у меня есть мой единственный XML-файл. Теперь я хочу вызвать этот XML-файл в arraycollection, поэтому, пожалуйста, дайте мне идеи о том же. Как я могу этого добиться???

Заранее спасибо—

Ответ №1:

Сначала извлеките XMLList нужные узлы из вашего XML. Затем используйте ArrayUtil.toArray() следующий способ:

 var myCollection:ArrayCollection = new ArrayCollection(ArrayUtil.toArray(myXMLList));
  

Ответ №2:

 <!-- Application -->
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="creationCompleteHandler(event)">

<fx:Script>
    <![CDATA[

        import mx.collections.ArrayCollection;

        [Bindable]
        private var arrColl:ArrayCollection;

        protected function creationCompleteHandler(event:FlexEvent):void
        {
            arrColl = new ArrayCollection(books.book);  
        }

    ]]>
</fx:Script>

<fx:Declarations>
    <fx:Model id="books" source="books.xml"/>
</fx:Declarations>
  

 <!-- books.xml -->
<?xml version="1.0"?>
<books>
    <book>
        <author>Gambardella, Matthew</author>
        <title>XML Developer's Guide</title>
        <genre>Computer</genre>
        <price>44.95</price>
    </book>
    <book>
        <author>Ralls, Kim</author>
        <title>Midnight Rain</title>
        <genre>Fantasy</genre>
        <price>5.95</price>
    </book>
<books>