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

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

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

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
По умолчанию Перебор элементов внутри узла XML (for each)

Имеется myXML вида:
Код:
<mainNode>
    <player>
        <firstNode>
            <name id="1" coord="3"/>
            <name id="2" coord="5"/>
            <name id="3" coord="5"/>
            <name id="4" coord="3"/>
        </firstNode>
	<secondNode>
            <name id="1" coord="6"/>
            <name id="2" coord="7"/>
            <name id="3" coord="1"/>
            <name id="4" coord="0"/>
	</secondNode>
    </player>
</mainNode>
Как перебрать все id'шники в узле secondNode, записав их в массив в соответствии с coord?

Код AS3:
for each(var elem:XML in myXML.elements()) {
	var secondID:String = elem.@id.toString();
	var secondCoord:String = elem.@coord.toString();
}
Здесь trace = ""

Код AS3:
for each(var elem:XML in myXML.mainNode.player.secondNode.elements()) {
	var secondID:String = elem.@id.toString();
	var secondCoord:String = elem.@coord.toString();
}
Здесь trace = null
__________________
Нормально делай — нормально будет!

Старый 12.01.2012, 18:55
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 2  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Как-то так:
Код AS3:
var myXML:XML = <mainNode>
    <player>
        <firstNode>
            <name id="1" coord="3"/>
            <name id="2" coord="5"/>
            <name id="3" coord="5"/>
            <name id="4" coord="3"/>
        </firstNode>
	<secondNode>
            <name id="1" coord="6"/>
            <name id="2" coord="7"/>
            <name id="3" coord="1"/>
            <name id="4" coord="0"/>
	</secondNode>
    </player>
</mainNode>;
 
 
trace(myXML.player.secondNode.*.(trace("<" + name() + " id='" + @id + "'" + " coord='" + @coord + "'/>")));
/*
trace(myXML.player.secondNode.*.(traceXmlElemnt(valueOf())));
 
function traceXmlElemnt( node:XML ) : void
{
	trace("<" + node.name() + " id='" + node.@id + "'" + " coord='" + node.@coord + "'/>");
}
*/
Добавлено через 22 минуты
Код AS3:
for each (var node:XML in myXML.player.secondNode.elements())
{
	trace("<" + node.name() + " id='" + node.@id + "'" + " coord='" + node.@coord + "'/>");
}
Добавлено через 24 минуты
или так
Код AS3:
for each (var node:XML in myXML.player.secondNode.*)
{
	trace("<" + node.name() + " id='" + node.@id + "'" + " coord='" + node.@coord + "'/>");
}

Старый 12.01.2012, 20:01
tsarapkabel вне форума Посмотреть профиль Отправить личное сообщение для tsarapkabel Найти все сообщения от tsarapkabel
  № 3  
Ответить с цитированием
tsarapkabel
 
Аватар для tsarapkabel

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
Красота! Спасибо большое!

Если не сложно, объясни как работает trace внутри другого trace, никогда такого не видел.
__________________
Нормально делай — нормально будет!

Старый 12.01.2012, 22:11
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 4  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Цитата:
Если не сложно, объясни как работает trace внутри другого trace, никогда такого не видел.
Ой... Это издержки производства, если честно. Надо бы первый (внешний) трейс убрать.

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

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

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


 


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


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