![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Dec 2009
Сообщений: 3
|
На сайте адобе наткнулся на вот такой код:
package { import flash.display.Sprite; import flash.events.*; import flash.net.*; public class URLLoaderExample extends Sprite { /** * Link to XML file */ private var xmlURL:String = "http://test.xml"; /** * XML data */ public var xmlData:XML; public function URLLoaderExample() { var loader:URLLoader = new URLLoader(); configureListeners(loader); var request:URLRequest = new URLRequest(xmlURL); try { loader.load(request); } catch (error:Error) { trace("Unable to load requested document."); } } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); } private function completeHandler(event:Event):void { var loader:URLLoader = URLLoader(event.target); trace("completeHandler: " + loader.data); var vars:URLVariables = new URLVariables(loader.data); trace("The answer is " + vars.answer); } private function openHandler(event:Event):void { trace("openHandler: " + event); } private function progressHandler(event:ProgressEvent):void { trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function httpStatusHandler(event:HTTPStatusEvent):void { trace("httpStatusHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } } } хочется получить XML объект через этот класс, как поправильней это сделать? изучаю AS3 и хочется всё сделать по правилам За любую помощь буду очень благодарен |
|
|||||
|
Modus ponens
|
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 3
|
Цитата:
структуру |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
У Колина Мука в книге про AS3 есть глава о XML с примерами парсинга, рекомендую.
|
|
|||||
|
Регистрация: Jun 2006
Адрес: Москва
Сообщений: 461
|
А зачем что-то вообще парсить самому? Неужели не хватит уже распарсенного XML-объекта (который получается при загрузки, если ему не помешать заранее) для своих нужд?
|
|
|||||
|
Регистрация: Dec 2009
Сообщений: 3
|
я хочу с помощью этого класса получить XML в FLA файле, а потом передать xML другому классу, разбираюсь сейчас
в fla загружаю var xml:xmlLoader=new xmlLoader(); только думаю как потом из fla XML получить, не судите строго я новичок пока Добавлено через 5 минут Цитата:
Добавлено через 4 часа 51 минуту Доброе время суток Поставил себе задачу 1) загрузить данные из XML 2) распарсить 3) полученые данные закинуть в фильм Думаю сделать так: Создаю 3 класса: xml loader, parser, загрузчик объектов в мувик примерчик adobe xml loader: package { import flash.display.Sprite; import flash.events.*; import flash.net.*; public class URLLoaderExample extends Sprite { public function URLLoaderExample() { var loader:URLLoader = new URLLoader(); configureListeners(loader); var request:URLRequest = new URLRequest("urlLoaderExample.txt"); try { loader.load(request); } catch (error:Error) { trace("Unable to load requested document."); } } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); } private function completeHandler(event:Event):void { var loader:URLLoader = URLLoader(event.target); trace("completeHandler: " + loader.data); var vars:URLVariables = new URLVariables(loader.data); trace("The answer is " + vars.answer); } private function openHandler(event:Event):void { trace("openHandler: " + event); } private function progressHandler(event:ProgressEvent):void { trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function httpStatusHandler(event:HTTPStatusEvent):void { trace("httpStatusHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } } } тут всё ок, создаётся объект и вижу trace моего кода и т.д. Собственно застрял вот на чём. Хочу из класса в мувике получить xml объект. пробывал в классе объевлять потом прописывал в методе completeHandler и из мувика пытаюсь получить: xml.xmlData но не проходит, поправьте меня пожалуйста. Хочется грамотно всё сделать и по правилам |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:46. |
|
|
« Предыдущая тема | Следующая тема » |
|
|