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

Вернуться   Форум Flasher.ru > Блоги > e4xu

Всякие разные штуки сомнительной полезности сделанные в свободное от работы время.
Оценить эту запись

Еще один баг...

Запись от wvxvw размещена 03.10.2009 в 15:38

Продолжаю тему багов связаных с XMLем.
Для начала:
http://bugs.adobe.com/jira/browse/FP-2869
Листинг ниже объясняет суть проблемы
Код AS3:
var xml:XML =
<foo index="0">
	<bar index="1">
		<qwerty index="2"/>
		<qwerty index="3"/>
		<qwerty index="4"/>
	</bar>
	<bar index="5">
		<qwerty index="6"/>
		<qwerty index="7"/>
		<qwerty index="8"/>
	</bar>
	<bar index="9">
		<qwerty index="10"/>
		<qwerty index="11"/>
		<qwerty index="12"/>
	</bar>
	<bar index="13">
		<qwerty index="14"/>
		<qwerty index="15"/>
	</bar>
</foo>
var list:XMLList = xml..*;
var node:XML = xml.bar.qwerty[0];
var d:Dictionary = new Dictionary();
d[node] = true;
trace(node.toXMLString(), node === list[1], d[list[1]], d[node]);
// OUTPUT:
// <qwerty index="2"/> true undefined true
// EXPECTED OUTPUT:
// <qwerty index="2"/> true true true
Немного подробнее: Если вы попытаетесь использовать объект типа XML в качестве ключа для Dictionary, то ссылки полученые на тот же XML другим путем не будут идентичны ключу из Dictionary. Никаких воркараундов не найдено. Единственное, что вы можете сделать - не использовать Dictionary для хранения ссылок на XMLи. Судя по всему - кривая реализация оператора .. (descendants())...
Всего комментариев 0

Комментарии

 

 


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


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