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

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

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

Регистрация: Aug 2008
Адрес: RUS, Viipuri
Сообщений: 44
По умолчанию xml, e4x - фильтрация с помощью предикатов

Всем привет!

Есть такой xml:
Код:
<data>
	<playlists>
		<playlist id="1" pages="1,5">
			<track id="1" src="songs/006.mp3" ord="3" />
			<track id="2" src="songs/001.mp3" ord="1" />
			<track id="3" src="songs/005.mp3" ord="2" />
		</playlist>       
		<playlist id="2" pages="2,4">
			<track id="1" src="songs/008.mp3" ord="4" />
			<track id="2" src="songs/009.mp3" ord="1" />
			<track id="3" src="songs/002.mp3" ord="2" />
			<track id="4" src="songs/007.mp3" ord="3" />
		</playlist>		
		<playlist id="default">
			<track id="1" src="songs/003.mp3" ord="2" />
			<track id="2" src="songs/004.mp3" ord="1" />		
		</playlist>
	</playlists>       
</data>
Мне необходимо с помощью предикатов получить плейлист, в атрибуте pages которого содержится айди нужной мне страницы. Текущий код:

Код AS3:
//...
private var		pPAGE_ID		:String 	= "1";
//...
trace(_songsXml.playlists.playlist.(@pages.toString().indexOf(pPAGE_ID) != -1));
//...
Выдает результат:
Код:
ReferenceError: Error #1065: Variable @pages is not defined.
	at Main/parseSongsXML()
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at CLoader/setupCompleteHandler()
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at flash.net::URLLoader/onComplete()
несмотря на то, что код:
Код AS1/AS2:
trace(_songsXml.playlists.playlist.@pages);
Нормально выводит содержимое атрибутов... Не могу понять, в чем же дело. Подскажите плиз.

Добавлено через 4 минуты
Млин, создал сообщение, посмотрел на него внимательно и все понял!

Завал происходит на ноде, у которого нет этого атрибута! Ввел дополнительное условие - помогло! Два часа моск трахал...

Код AS3:
 
//...
trace(_songsXml.playlists.playlist.(hasOwnProperty("@pages") && @pages.toString().indexOf(pPAGE_ID) != -1));
//...


Последний раз редактировалось taras_; 24.01.2010 в 17:08.
Старый 24.01.2010, 17:08
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
…(valueOf().@pages.toString().indexOf(…

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

Теги
e4x , xml
Опции темы
Опции просмотра

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

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


 


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


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