PDA

Просмотр полной версии : Flex+XML(под Air)


greenhill
16.03.2009, 16:52
Очередной мой вопрос:
как правильно получать значения из xml файла в mxml?
<mx:XML source="news.xml" id="hItem" />
<mx:Text id="something" text="{hItem.newf[0].@title}"/>
если писать таким образом xml данные компилируюся в air и нет неоходимости в этом xml файле.
А в моем случает данные в xml будут постоянно меняться, поэтому нашла совет, что нужно использовать <mx:Model source="news.xml" id="hItem" />
Но пишут ошибку сли написать так
<mx:Model source="news.xml" id="hItem" />
<mx:Text id="something" text="{hItem.newf[0].@title}"/>
Как выйти из этой ситуации?

Добавлено через 44 часа 31 минуту
разобралась. использовала HTTPService

Vasyaga
21.03.2009, 10:41
Пользуйтесь HTTPService либо простым URLLoader для загрузки данных:
<mx:HTTPService id="myHTTPService" url="data.xml"
result="handleLoadedXML(resultEvent)"/>
В handleLoadedXML используйте resultEvent.result для доступа к XML

И второй вариант c URLLoader (AS3):
var rq:URLRequest = new URLRequest(xmlPath);
var ldr:URLLoader = new URLLoader();
ldr.addEventListener(Event.COMPLETE, loadXMLHandler);
ldr.load(rq);

функция обработчик:
private function loadXMLHandler(e:Event):void {
var myXML:XML = new XML(e.target.data);
//... Далее идёт обработка XML
}

greenhill
21.03.2009, 23:43
Спасибо огромное. Использовала HTTPService