чтение переменной из файла XML в flex - PullRequest
0 голосов
/ 15 января 2011

Я пытаюсь прочитать адрес FLV-файла из XML-файла, а затем поместить его в свойство «source» тега видеодисплея.вот мой код:

//in decleration tags
<fx:Model id="myModel" source="myXML.xml"/>
<s:ArrayList id="myArrList" source="{myModel.main}"/>

//in the main code
<mx:VideoDisplay id="videoDisplay" source="{myArrList.getItemAt(0)}" />

и XML-файл:

<main>
<myFile>"g:\myflv.flv"</myFile>
</main>

кто-нибудь знает, что не так?Тпй

1 Ответ

0 голосов
/ 16 января 2011

Пока это будет работать:

//in decleration tags
<fx:Model id="myModel" source="myXML.xml"/>

//in the main code
<mx:VideoDisplay id="videoDisplay" source="{myModel.mainFile as String}" />

Однако, если вы добавите больше тегов в ваш XML, он больше не будет работать. Ваш экземпляр модели на самом деле является экземпляром ObjectProxy. Если есть один тег, платформа Flex создаст ObjectProxy со свойством myFile, которое является строкой. Если тега несколько, свойство myFile будет массивом.

Итак, если вы действительно хотите использовать экземпляр ArrayList, у вас не будет другого выбора, кроме как сделать что-то похожее на:

<?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"
               applicationComplete="application1_applicationCompleteHandler(event)"
               >
    <fx:Script>
        <![CDATA[
            import mx.events.FlexEvent;

            protected function application1_applicationCompleteHandler(event:FlexEvent):void
            {
                if (myModel.myFile is Array)
                    myArrList = new ArrayList(myModel.myFile)
                else
                    myArrList = new ArrayList([myModel.myFile]);
            }

        ]]>
    </fx:Script>
    <fx:Declarations>
        <fx:Model id="myModel" source="myXML.xml" />
        <s:ArrayList id="myArrList" />
    </fx:Declarations>


</s:Application>

Кроме того, вы установили отладочную версию Flash Player?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...