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

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

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

Регистрация: Feb 2010
Сообщений: 23
По умолчанию поиск по XML

Добрый день.
Фильтрую XML с помощью XMLList
Код AS1/AS2:
			var item:XMLList
			item =(fieldXML.*.(@coor_x == "2" && @coor_y=="2"));
trace(item);
странно что когда найденных значения два, то он всё нормально выводит:
<item floor_texture="123" furniture_ID="0" radius="" floor_type="floor" coor_x="2" coor_y="2"/>
<item floor_texture="123" furniture_ID="0" radius="" floor_type="wall" coor_x="2" coor_y="2"/>
а если всего одно, удовлетворяющее условиям, то не выводит ничего...
почему такое может происходить?


Последний раз редактировалось dandelion; 01.04.2010 в 00:08.
Старый 01.04.2010, 00:41
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
возможный расклад: если нод пустой, то toString(), который использует trace, ничего не покажет
toXMLString() покажет все как есть, item.length() тоже покажет правильно
Код AS3:
var fieldXML:XML =
<root>
	<item coor_x = "2" coor_y = "2"/>
</root>;
var item:XMLList = fieldXML.*.(@coor_x == "2" && @coor_y == "2");
trace( "item : " + item );//item :
trace( "item : " + item.toXMLString() );//item : <item coor_x="2" coor_y="2"/>

Старый 01.04.2010, 14:32
dandelion вне форума Посмотреть профиль Отправить личное сообщение для dandelion Найти все сообщения от dandelion
  № 3  
Ответить с цитированием
dandelion

Регистрация: Feb 2010
Сообщений: 23
Спасибо большое, заработало.
А не могли бы пояснить, что значит пустой, в нём всё таки одно значение есть. Или чего то не так понимаю...

Старый 01.04.2010, 14:54
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>в нём всё таки одно значение есть

ну да, и это значение - XML без детей, хоть и с атрибутами - в этом смысле пустой
Цитата:
If an XMLList object has only one XML element, you can use the XML class methods on the XMLList object directly
получается, что toString и обходится с ним(XMLList-ом) как с XML-ем


Последний раз редактировалось silin; 01.04.2010 в 14:57.
Старый 01.04.2010, 15:03
dandelion вне форума Посмотреть профиль Отправить личное сообщение для dandelion Найти все сообщения от dandelion
  № 5  
Ответить с цитированием
dandelion

Регистрация: Feb 2010
Сообщений: 23
понял, спасибо

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

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

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


 


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


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