Тема: XML парсер
Показать сообщение отдельно
Старый 04.12.2009, 11:10
vachtang83 вне форума Посмотреть профиль Отправить личное сообщение для vachtang83 Найти все сообщения от vachtang83
  № 6  
Ответить с цитированием
vachtang83

Регистрация: Dec 2009
Сообщений: 3
я хочу с помощью этого класса получить XML в FLA файле, а потом передать xML другому классу, разбираюсь сейчас

в fla загружаю var xml:xmlLoader=new xmlLoader(); только думаю как потом из fla XML получить, не судите строго я новичок пока

Добавлено через 5 минут
Цитата:
Сообщение от Kuruki Посмотреть сообщение
У Колина Мука в книге про AS3 есть глава о XML с примерами парсинга, рекомендую.
благодарю

Добавлено через 4 часа 51 минуту
Доброе время суток

Поставил себе задачу 1) загрузить данные из XML 2) распарсить 3) полученые данные закинуть в фильм

Думаю сделать так:

Создаю 3 класса: xml loader, parser, загрузчик объектов в мувик

примерчик adobe xml loader:
Код AS3:
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);
        }
    }
}
далее в мувике прописал строчку:
Код AS3:
var xml:URLLoaderExample =new URLLoaderExample ();
тут всё ок, создаётся объект и вижу trace моего кода и т.д.

Собственно застрял вот на чём. Хочу из класса в мувике получить xml объект.

пробывал в классе объевлять
Код AS3:
 public var xmlData:XML;
потом прописывал в методе completeHandler
Код AS3:
xmlData = new XML(loader.data);
и из мувика пытаюсь получить: xml.xmlData

но не проходит, поправьте меня пожалуйста. Хочется грамотно всё сделать и по правилам