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

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

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

Регистрация: Feb 2006
Сообщений: 32
По умолчанию class и xml

Есть класс loadXML



Код:
class loadXML {
	private var load_xml:XML;
	private var arr_xml:Array;
	
	public  function getResultArray(xmlfile:String):Array {
		return arr_xml;
	}
	
	public function loadXML() {
		trace('loadXML');
	}
	
	public function parseXml(xmlfile:String) {		
		this.load_xml = new XML();
		this.load_xml.ignoreWhite = true;
		trace('parseXML 0');
		this.load_xml.onLoad = this.onLoadParseXML();		
		this.load_xml.load(xmlfile);
		var rootNode1:XMLNode = this.load_xml.firstChild;	
			if(rootNode1.firstChild == null){
				trace('net node 1');
		}
	}
	
	private function onLoadParseXML() {
		trace('onLoadParseXML 0');
		this.arr_xml = new Array();		
		var i = 0;		
			var rootNode:XMLNode = this.load_xml.firstChild;	
			if(rootNode.firstChild == null){
				trace('net node 2');
				}
			for (var itemNode:XMLNode = rootNode.firstChild; itemNode != null; itemNode=itemNode.nextSibling) {	
				
				//trace(aNode.firstChild.nodeValue);
				for (var aNode:XMLNode = itemNode.firstChild; aNode != null; aNode=aNode.nextSibling) {
					this.arr_xml[i] = new Array();					
					if (aNode.nodeType == 1) {						
						this.arr_xml[i][aNode.nodeName] = aNode.firstChild.nodeValue;
						trace(arr_xml[i]["title"]+":\t" + arr_xml[i]["subtitle"]);					
				}	 
				i++;
			}			
		}			
		trace('onLoadParseXML 4');		
		return this.arr_xml;
	}
}
в другом файле my.as который инклуд в первый кадр пишу

import loadXML;

Код:
arr_xl = new Array();
lxml = new loadXML;
arr_xl = _root.lxml.parseXml('data.xml');

трейсит:

parseXML 0
onLoadParseXML 0
net node 2
onLoadParseXML 4
net node 1

те онлоад событие происходит но ноды он не видит

может кто подскажет как с этим бороться...

Старый 16.10.2006, 14:32
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Имена классов должны начинаться с прописной буквы.
Постфикс _xml ставится только для XML-объектов. Для массивов — _arr.
При создании экземпляра класса скобки необходимы.
(ну всё перечислять не буду)

Ну и по существу — onLoadParseXML вызывается от имени load_xml.
Используйте класс Delegate (или аналоги) для перенаправления вызова onLoad в метод класса от имени экземпляра класса.

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

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

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


 


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


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