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

Вернуться   Форум Flasher.ru > Flasher.ru > Флейм

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 02.12.2006, 16:25
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 21  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Нет, не рабочий. Вот правильный:

Код:
my_xml = new XML()
my_xml.load("/xmlfiles/data.xml")
my_xml.onLoad=function(success) {
 	if(!success||this.status){
 	 	return this.customErrorHandler(this.status, success);
 	}
 	this.customParsingProcedure();
}
my_xml.customParsingProcedure = function () {
// custom actions here
}
my_xml.customErrorHandler = function (status, success){
trace("loaded: "+success+" valid: " + this.status);
// custom actions here
}
У меня есть класс AbstractXML, выполняющий те же функции. Если нужно выполнить парсинг, я просто наследуюсь от этого класса и описываю в нём метод prepareData, а чаще просто использую без наследования:

Код:
import mx.events.EventDispatcher;
/**
 * @author Denis Kolyako
 */
class ru.etcs.data.AbstractXML extends XML {
	
	private var __xml_url:String;
	
	public var event:String = 'onXMLLoad';
	public var errorEvent:String = 'onXMLLoadError';
	public var idMap:Object;

	public var dispatchEvent:Function;
	public var addEventListener:Function;
	public var removeEventListener:Function;
			
	public function AbstractXML(xml_url:String) {
		super("");
		this.ignoreWhite = true;
		EventDispatcher.initialize(this);
		this.__xml_url = xml_url;
		this.load(this.__xml_url);
	}
		
	private function onLoad(ok:Boolean):Void {
		if (!ok || !this.loaded || this.status || this.getBytesTotal()<30) {
			trace('XML loaded: '+this.loaded+', valid: '+this.status);
			this.dispatchEvent({type:this.errorEvent});
			return;
		}	
		this.prepareData();
		this.dispatchEvent({type:this.event});
	}
	
	private function prepareData():Void {
		// For override	
	}

}


Последний раз редактировалось etc; 02.12.2006 в 16:28.
Создать новую тему   Часовой пояс GMT +4, время: 19:21.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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