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

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

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

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
По умолчанию xml. получение значений без повторений

в общем ситуация такая:
есть xml файл вида:
Код:
<response>
    <item>
        <id>1</id>
        <cost>150</cost>
        <period>1</period>
    </item>
    <item>
        <id>1</id>
        <cost>100</cost>
        <period>2</period>
    </item>
    <item>
        <id>2</id>
        <cost>70</cost>
        <period>1</period>
    </item>
     <item>
         <id>2</id>
         <cost>90</cost>
        <period>2</period>
     </item>
</response>
нужно бы получить все уникальные занчения item.id, т.е. для данного примера - значения 1, 2
выражение:
Код AS3:
for each (var id:XML in response.item.id)
{
     trace(id);
}
выводит:
Код:
1
1
2
2
а как бы мне красивым путем получить значения без повторений?
__________________
я могу стать всем, если только захочу

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код AS3:
var xml:XML = 
<response>
    <item>
        <id>1</id>
        <cost>150</cost>
        <period>1</period>
    </item>
    <item>
        <id>1</id>
        <cost>100</cost>
        <period>2</period>
    </item>
    <item>
        <id>2</id>
        <cost>70</cost>
        <period>1</period>
    </item>
     <item>
         <id>2</id>
         <cost>90</cost>
        <period>2</period>
     </item>
</response>;
var d:Dictionary = new Dictionary();
 
var list:XMLList = xml.item.id.(!d[valueOf().text().toString()] && 
				(d[valueOf().text().toString()] = true));
trace(list.toXMLString());
/*
<id>1</id>
<id>2</id>
*/
__________________
Hell is the possibility of sanity

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

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
спасибо работает.
первое, что в голову пришло - тоже использовать Dictionary, правда не так элегантно
__________________
я могу стать всем, если только захочу

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

Теги
xml

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

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


 


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


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