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

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

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

Регистрация: Jun 2006
Сообщений: 78
Question [AS3]Как конвертировать XML в массив

Есть XML:

Код:
<items>
<item>
  <title>Название работы 1</title>
  <date>2006-02-06</date>
</item>
<item>
  <title>Название работы 2</title>
  <date>2005-10-07</date>
</item>
<item>
  <title>Название работы 3</title>
  <date>2005-09-07</date>
</item>
</items>
Как из него получить такой массив?:

Код:
[
{title: 'Название работы 1', date: '2006-02-06'},
{title: 'Название работы 2', date: '2005-10-07'}, 
{title: 'Название работы 3', date: '2005-09-07'}
]

Старый 14.08.2006, 18:27
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А чем тебя не устраивает сам XML? Зачем менять структуру?

Старый 14.08.2006, 18:37
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 3  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
причем тут FLEX?
перенес в раздел для новичков, раз пользователь не знает как слово "парсинг"
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 14.08.2006, 18:53
Exey вне форума Посмотреть профиль Отправить личное сообщение для Exey Найти все сообщения от Exey
  № 4  
Ответить с цитированием
Exey

Регистрация: Jun 2006
Сообщений: 78
Цитата:
Сообщение от __etc
А чем тебя не устраивает сам XML? Зачем менять структуру?
Устраивает... просто, я не нашел другого способа програмно отсортировать поля DataGrid.


Динамически наполняю DataGrid несколькими подобными ХML'ами, и поля перед показом нужно отсортировать по дате

Код:
	<mx:Script>
		<![CDATA[
                   ...
                   loadXML('how/id.xml');     
                   loadXML('how/card.xml'); // гружу несколько XML			           ...
                   how1Filter = myXML2..item; // XMLList для DataGrid
                    
		]]>
	</mx:Script>

<mx:DataGrid id="how1Grid" dataProvider="{how1Filter}" >
   <mx:columns>
    <mx:DataGridColumn dataField="title" headerText="title"/>                    
    <mx:DataGridColumn dataField="date" headerText="date" />
  </mx:columns> 
 </mx:DataGrid>
Узнал что в 1.5 был SortItemsBy(); , в двойке нет такого, по хелпу ("Sorting data in DataGrid controls")

Старый 15.08.2006, 14:03
Exey вне форума Посмотреть профиль Отправить личное сообщение для Exey Найти все сообщения от Exey
  № 5  
Ответить с цитированием
Exey

Регистрация: Jun 2006
Сообщений: 78
Цитата:
Сообщение от Nirth
причем тут FLEX?
перенес в раздел для новичков, раз пользователь не знает как слово "парсинг"
Слово знаю, пользоватся не научусь никак...
во Флексе знаю два способа импортирования XML:
1) HTTPService
2) URLLoader

Вот пробую первым , почему он мне трэйсит не массив а тот же XML?


Код:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"  creationComplete="dsWorks.send();">

<mx:Script><![CDATA[
  import mx.collections.XMLListCollection;
  import mx.rpc.events.ResultEvent;
  import mx.utils.ArrayUtil;
  public var XML2Array:Array;

            private function onResult(oEvent:ResultEvent):void
            {
              var xlcDP:XMLListCollection = new XMLListCollection(oEvent.result.item);
		      XML2Array = ArrayUtil.toArray(xlcDP);
        	  trace(XML2Array);
            }//onResult

]]></mx:Script>
  <mx:HTTPService id="dsWorks" url="assets/card.xml" result="onResult(event)" resultFormat="e4x"/>

</mx:Application>

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

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

Старый 15.08.2006, 15:28
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 7  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
можно открыть поиск и ввести слова "парсинг XML" и не парится и ждать ответа=)
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 15.08.2006, 17:00
Exey вне форума Посмотреть профиль Отправить личное сообщение для Exey Найти все сообщения от Exey
  № 8  
Ответить с цитированием
Exey

Регистрация: Jun 2006
Сообщений: 78
Цитата:
Сообщение от Nirth
можно открыть поиск и ввести слова "парсинг XML" и не парится и ждать ответа=)
нашел топик Оптимизация разбора ХМЛ

там:

Цитата:
Сообщение от Iv
...
в 99 процентах случаев нужно работать с XML.
...
Абсурдно удалять то, что помогает работать с данными.
В моем случае то же? (динамически собираю XMLList, не могу остортировать )
Если да, то подскажи как отсортировать узлы <item>...</item> по дате которая в <item><date>...</date></item> .

Старый 15.08.2006, 17:15
Exey вне форума Посмотреть профиль Отправить личное сообщение для Exey Найти все сообщения от Exey
  № 9  
Ответить с цитированием
Exey

Регистрация: Jun 2006
Сообщений: 78
Цитата:
Сообщение от wvxvw
А нельзя никак передавать значения в атрибутах?
Рад бы... незнаю как?

Цитата:
Сообщение от wvxvw
Зачем плодить лишние узлы, да еще и текстовые?
Мне нужно наполнить осортированными узлами:
Код:
<mx:DataGrid>
   <mx:columns>
    <mx:DataGridColumn dataField="title" headerText="title"/>                    
    <mx:DataGridColumn dataField="date" headerText="date" />
  </mx:columns> 
</mx:DataGrid>
Есть ли методы у DataGrid или DataGridColumn, чтобы выводить поля в порядке убывания даты?

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Цитата:
Сообщение от Exey
Есть XML:

Код:
<items>
<item>
  <title>Название работы 1</title>
  <date>2006-02-06</date>
</item>
<item>
  <title>Название работы 2</title>
  <date>2005-10-07</date>
</item>
<item>
  <title>Название работы 3</title>
  <date>2005-09-07</date>
</item>
</items>
Привести к виду
Код:
<items>
<item title="Название работы 1" date="2005-09-07"/>
<item title="Название работы 2" date="2005-08-07"/>
<item title="Название работы 3" date="2005-06-07"/>
</items>
а потом через nextSibling просматривать атрибуты и генерить другой ХМЛ в зависимости от значения атрибута... Есть такая ф-ция как insertBefore(); проверяем циклом нужный аттрибут, если значение больше - добавляем узел после, если меньше - до... это самое первое, что приходит в голову..

ЗЫ. да или такой вариант, пожалуй даже проще. Прочитываем значения нужного атрибута, формируем последовательность добавления - по ней генерим новый ХМЛ из старого =) Ща попробую сделать пример.
__________________
Hell is the possibility of sanity


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

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

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


 


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


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