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

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

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

Регистрация: May 2006
Адрес: Земля
Сообщений: 51
По умолчанию Подгрузка данных в массив из XML

Просьба не кидать тапками Есть XML:
Код:
<data>
	<image0.jpg>
		<sample nam="Вася Иванов"/>
		<sample nam="Петя"/>
		<sample nam="КУзя"/>
		<sample nam="Лена"/>
		<sample nam="Даша"/>
		<sample nam="Саша"/>
	</image0.jpg>

	<image1.jpg>
		<sample nam="Маша"/>
		<sample nam="Глаша"/>
	</image1.jpg>
</data>
Есть код AS 2.0

Код:
my_xml.load("links.xml");
f_www = function () {
	mass = [[],[]];
    var nodes = my_xml.firstChild.childNodes;
	for (var n=0; n<nodes.length; n++) {
		s = my_xml.firstChild.childNodes[n].nodeName;
	          mass[0].push(s);
} 
	
	for (var n=0; n<my_xml.firstChild.firstChild.childNodes.length; n++) {
		h = my_xml.firstChild.firstChild.childNodes[n].attributes.nam;
			   mass[1].push(h);
	}
а как занести в массив mass[1] содержимое нодов image0.jpg и image1.jpg целиком?
Т.е. все имена людей из XML?

Старый 24.06.2010, 20:47
sniper007 вне форума Посмотреть профиль Отправить личное сообщение для sniper007 Найти все сообщения от sniper007
  № 2  
Ответить с цитированием
sniper007

Регистрация: Jun 2010
Сообщений: 30
можно с использованием рекурсии такое сделать. полный обход дерева

Код AS1/AS2:
var i:Number = 0; // счетчик
function obhod(node:XMLNode):Void
{
	if (node.hasChildNodes() != null)  obhod(node.firstChild);// проверяем есть ли потомок. если да - запускаем рекурсию.
	else // иначе - это то, что нам нужно. вытаскиваем атрибут.
	{
		mass[i] = node.attributes["nam"];
                       i++;
	}
 
	if (node.nextSibling != null)  obhod(node.nextSibling); // переходим к соседнему элементу (брату)
}
 
obhod(my_xml.firstChild.firstChild); // Запускаем обход


Последний раз редактировалось sniper007; 24.06.2010 в 21:08.
Старый 25.06.2010, 11:51
mtema вне форума Посмотреть профиль Отправить личное сообщение для mtema Найти все сообщения от mtema
  № 3  
Ответить с цитированием
mtema

Регистрация: May 2006
Адрес: Земля
Сообщений: 51
Спасибо буду разбираться!

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

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

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


 


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


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