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

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

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

Регистрация: Aug 2002
Сообщений: 44
По умолчанию Перевод объекта XML в ассоциативный массив

получился такой класс:
Код:
class XMLParser {

	public var XMLArr:Array = new Array();


	function XMLParser(XMLData) {
		trace("XMLParser created");
		this.Parse(XMLData.firstChild,this);
	}
	function Parse(node, nodeParent) {
		while (node != null) {
			if (node.nodeType !== 3) {
				nodeParent[node.nodeName] = new Object();
				if (node.hasChildNodes()) {
					this.Parse(node.firstChild,nodeParent[node.nodeName]);
				}
			} else {
				nodeParent.value = node.nodeValue;
			}
			for (var attrib in node.attributes) {
				if (nodeParent[node.nodeName]["attributes"]==undefined) {
					nodeParent[node.nodeName]["attributes"] = new Object();
				}
				if (nodeParent[node.nodeName].attributes[attrib]==undefined) {
					nodeParent[node.nodeName].attributes[attrib] = new Object();
				}
				nodeParent[node.nodeName].attributes[attrib] = node.attributes[attrib];
				trace(node.nodeName+"== "+attrib+' = '+node.attributes[attrib]);
			}
			node = node.nextSibling;
		}
		return true;
	}
}
Долго я с ним парился из-за проблем с дебаггером.
Тут всё делается в лоб, может быть можно сделать более красиво?

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

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

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


 


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


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