Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.12.2009, 13:14
vachtang83 вне форума Посмотреть профиль Отправить личное сообщение для vachtang83 Найти все сообщения от vachtang83
  № 1  
Ответить с цитированием
vachtang83

Регистрация: Dec 2009
Сообщений: 3
Question XML парсер

На сайте адобе наткнулся на вот такой код:

Код AS3:
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);
        }
    }
}
на timeline (Actions) прописываю код:

Код AS3:
var xmlLoader:URLLoaderExample = new URLLoaderExample;
хочется получить XML объект через этот класс, как поправильней это сделать?
изучаю AS3 и хочется всё сделать по правилам

За любую помощь буду очень благодарен

Старый 03.12.2009, 13:32
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
На том же сайте есть ссылка рядом с каждым примером

How to use examples
__________________
Hell is the possibility of sanity

Старый 03.12.2009, 15:40
vachtang83 вне форума Посмотреть профиль Отправить личное сообщение для vachtang83 Найти все сообщения от vachtang83
  № 3  
Ответить с цитированием
vachtang83

Регистрация: Dec 2009
Сообщений: 3
Цитата:
Сообщение от wvxvw Посмотреть сообщение
На том же сайте есть ссылка рядом с каждым примером

How to use examples
спасибо, может кто имеет свой парсер на AS3 былоб интересно проанализировать
структуру

Старый 03.12.2009, 20:12
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 4  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
У Колина Мука в книге про AS3 есть глава о XML с примерами парсинга, рекомендую.

Старый 04.12.2009, 00:40
Hidest вне форума Посмотреть профиль Отправить личное сообщение для Hidest Найти все сообщения от Hidest
  № 5  
Ответить с цитированием
Hidest
 
Аватар для Hidest

Регистрация: Jun 2006
Адрес: Москва
Сообщений: 461
А зачем что-то вообще парсить самому? Неужели не хватит уже распарсенного 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

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

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:42.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 12:42.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.