Flex с использованием XML-строки нотации - PullRequest
0 голосов
/ 08 марта 2012

В следующем примере первая трассировка дает мне данные xml на узле, но вторая трассировка - нет.Это AS3.Как бы я использовал переменную, чтобы сделать то же самое, что встроенная нотация?

var x:String = "animXML.home.version";
trace(animXML.home.version);  // this works
trace([x]);                   // this does not

Спасибо

1 Ответ

1 голос
/ 09 марта 2012

Не уверен, что вы пытаетесь достичь, но это приведет к тому же результату:

var x:String = animXML.home.version as String;
trace(animXML.home.version);  // this works
trace(x);                     // this works

update (полный скрипт):

<?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">

    <fx:Declarations>
        <fx:Model id="animXML">
            <root>
                <home>
                    <version>Version 1</version>
                </home>
            </root>
        </fx:Model>    
    </fx:Declarations>

    <fx:Script>
        <![CDATA[
            protected function clickHandler(event:MouseEvent):void
            {
                var x:String = animXML.home.version as String;
                trace(animXML.home.version);  // this works
                trace(x);                     // this works
            }

        ]]>
    </fx:Script>

    <s:Button label="test" click="clickHandler(event)" />

</s:Application>

Нажатие на кнопку «test» даетследующий вывод:

Version 1
Version 1
...