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

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

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

Регистрация: Apr 2006
Сообщений: 184
Question Проблема с парсингом ХМЛ

Доброй всем ночи...

Вот паршу ХМЛ через класс
Код класса

Код:
class ot.OnlinePlayer extends MovieClip {
	
private var x:XML;
private var pxml:Object;
	
	
	public function OnlinePlayer(pMovieClip){

		var aaa = parseXML(_root.xmlPuth);
		
		trace(aaa.xml.layout.menus.length);

	}
	
	
	private function toObject():Object{
		
	var $xparse = function (n)
	{
		var o = new String (n.firstChild.nodeValue), s, i, t
		for (s = (o == "null") ? n.firstChild : n.childNodes[1]; s != null; s = s.nextSibling)
		{
			t = s.childNodes.length > 0 ? arguments.callee (s) : new String (s.nodeValue)
			for (i in s.attributes) t[i] = s.attributes[i]
			
			if (o[s.nodeName] != undefined)
			{
				if (!(o[s.nodeName] instanceof Array)) o[s.nodeName] = [o[s.nodeName]]
				o[s.nodeName].push (t)
			}
			else o[s.nodeName] = t
		}
		return o
	}
	return $xparse (this)

	}


	private function parseXML(xmlPuth):Object{
		
		x = new XML ();
		x.ignoreWhite = true;
		x.load (xmlPuth);
		x.onLoad = function (){
			pxml = this.toObject();
		}
			return pxml;
	}

}
Код ХМЛ*а

Код:
<?xml version="1.0" encoding="utf-8"?>

<xml>

	<layout>
		<menus width="150" height="250"></menu>
		<menus width="150" height="250"></menu>
		<menus width="150" height="250"></menu>
		<menus width="150" height="250"></menu>
	</layout>

</xml>

Трейс выдает undefined . не могу понять в чем проблема... Уважаемые гуру помогите пожалуйста.

Старый 26.10.2007, 03:33
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Загрузка происходит асинхронно выполнению кода.
Только после полной загрузки срабатывает onLoad и происходит ваш парсинг (хотя не факт, я не смотрел, что у вас с областями видимости), но вы сразу же выдаете return pxml и пытаетесь вывести в трейс.
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 26.10.2007 в 03:39.
Старый 26.10.2007, 10:05
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
eXplozive, XML не может быть загружен мгновенно. Нельзя его вернуть, как результат функции.

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

Регистрация: Apr 2006
Сообщений: 184
Так ... значит применил другое решение ...

http://proto.layer51.com/d.aspx?f=1340

Взял эти классы... Вроде как получилось...

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

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

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


 


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


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