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

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

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

Регистрация: May 2007
Адрес: Минск, Беларусь
Сообщений: 347
Отправить сообщение для Ведьмак с помощью ICQ Отправить сообщение для Ведьмак с помощью Yahoo
По умолчанию Parse XML с неограниченной вложенностью

Всем, доброго дня!

Есть XML типа
Код:
<parent>
   <text></text>
</parent>
<parent>
   <text></text>
   <sub>
      <text></text>
   </sub>
</parent>
<parent>
   <text></text>
   <sub>
      <text></text>
      <sub>
         <text></text>
      </sub>
   </sub>
</parent> ...
этих SUB в SUB может быт неогранниченное колличество.. Этакое древо..

Родскажите как это лучше распарсить в Flash? Что-то я совсем запутался в массивах, блин...


Последний раз редактировалось Ведьмак; 22.11.2007 в 17:22.
Старый 22.11.2007, 17:28
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 2  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
ну если неограниченное дерево то рекурсией обходи
__________________
: M F N W :

Старый 22.11.2007, 17:36
Ведьмак вне форума Посмотреть профиль Отправить личное сообщение для Ведьмак Посетить домашнюю страницу Ведьмак Найти все сообщения от Ведьмак
  № 3  
Ответить с цитированием
Ведьмак
 
Аватар для Ведьмак

Регистрация: May 2007
Адрес: Минск, Беларусь
Сообщений: 347
Отправить сообщение для Ведьмак с помощью ICQ Отправить сообщение для Ведьмак с помощью Yahoo
я думал, что от этого тут не убежать, да и при обработке конечного массива тоже нужно будет его раскручивать рекурсивно..

можно с этого момента по-подробнее или пример? )

Старый 22.11.2007, 17:50
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 4  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
вот тут подобное обсуждалось: http://flasher.ru/forum/showthread.php?t=88954
__________________
: M F N W :

Старый 22.11.2007, 18:33
Ведьмак вне форума Посмотреть профиль Отправить личное сообщение для Ведьмак Посетить домашнюю страницу Ведьмак Найти все сообщения от Ведьмак
  № 5  
Ответить с цитированием
Ведьмак
 
Аватар для Ведьмак

Регистрация: May 2007
Адрес: Минск, Беларусь
Сообщений: 347
Отправить сообщение для Ведьмак с помощью ICQ Отправить сообщение для Ведьмак с помощью Yahoo
спасибо.. только ему не предложили рабочего варианта, сказали только что вторая рекурсия лишня.. и в конце код также не рабочий..

вопрос еще актуален)


Последний раз редактировалось Ведьмак; 22.11.2007 в 18:38.
Старый 22.11.2007, 18:39
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 6  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
ХМЛ парсится уже прямо при создании. Зачем его еще куда-то во что-то парсить?
__________________
Hell is the possibility of sanity

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

Регистрация: Jul 2007
Сообщений: 306
Код:
XML.prototype.makeObj = function(xObj, obj) {
	//----- Initialise objects
	if (xObj == null) {
		xObj = this;
	}
	if (obj == null) {
		obj = {};
	}
	var a, c, nName, nType, nValue, cCount;
	//----- Add attributes to the object
	for (a in xObj.attributes) {
		obj[a] = xObj.attributes[a]
	}
	//----- Build child nodes
	for (c in xObj.childNodes) {
		nName = xObj.childNodes[c].nodeName;
		nType = xObj.childNodes[c].nodeType;
		nValue = xObj.childNodes[c].nodeValue;
		if (nType == 3) {
			obj._value = nValue;
			obj._type = 'text';
		}
		if (nType == 1 && nName != null) {
			if (obj[nName] == null) {
				obj[nName] = this.makeObj(xObj.childNodes[c], {});
			} else if (obj[nName]._type != 'array') {
				obj[nName] = [obj[nName]];
				obj[nName]._type = 'array';
			}
			if (obj[nName]._type == 'array') {
				obj[nName].unshift(this.makeObj(xObj.childNodes[c], {}));
			}
		}
	}
	// Return object
	return obj;
};

Старый 22.11.2007, 18:44
Ведьмак вне форума Посмотреть профиль Отправить личное сообщение для Ведьмак Посетить домашнюю страницу Ведьмак Найти все сообщения от Ведьмак
  № 8  
Ответить с цитированием
Ведьмак
 
Аватар для Ведьмак

Регистрация: May 2007
Адрес: Минск, Беларусь
Сообщений: 347
Отправить сообщение для Ведьмак с помощью ICQ Отправить сообщение для Ведьмак с помощью Yahoo
2 wvxvw: XML внешний..
2 telit: спасибо конечно... ты хочешь, чтобы у меня моск взорвался? или пару комментов уже рука не поднялась писать? хоть что передается в функцию ( xObj, obj)?

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Во флеше все ХМЛи одинаковые %) они не бывают внешними или внутренними =)
Это значит, что если вы дождались ХML.onLoad - вы его уже 1 раз отпарсили. Лучше, чем сам Флеш вы это вряд ли сделаете, ну уж не быстрее, это точно =)
__________________
Hell is the possibility of sanity

Старый 22.11.2007, 18:53
Ведьмак вне форума Посмотреть профиль Отправить личное сообщение для Ведьмак Посетить домашнюю страницу Ведьмак Найти все сообщения от Ведьмак
  № 10  
Ответить с цитированием
Ведьмак
 
Аватар для Ведьмак

Регистрация: May 2007
Адрес: Минск, Беларусь
Сообщений: 347
Отправить сообщение для Ведьмак с помощью ICQ Отправить сообщение для Ведьмак с помощью Yahoo
2 wvxvw: понял идею)) мне нужно обойти весь XML и перегнать инфорамцию во что-то с чем дальше можно удобны работать (массив и .т.д.)

2 telit: еще раз спасибо

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

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

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


 


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


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