Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Загадочный глюк с фильтрацией ХМЛ (http://www.flasher.ru/forum/showthread.php?t=116680)

mitado 08.10.2008 12:36

Загадочный глюк с фильтрацией ХМЛ
 
Cтолкнулся с непонятным глюком - пытаюсь отфильтровать ХМЛ данные, но при сохранении результата в переменную, она возвращает нуль, а при трейсе того же самого выражения выдается необходимый результат..


Код:

private function myFunction():void{
    var tmpNews:XML  = myXMLData.myNode.(attribute("label")=="Фига");
    trace(tmpNews); // - возвращает null
    trace(myXMLData.myNode.(attribute("label")=="Фига")); // возвращает хмл
}

кто-нибуть сталкивался с подобной фантастикой?

etc 08.10.2008 13:18

Потому что возвращается XMLList, а не XML.

mitado 08.10.2008 13:28

на XMLList проверено (в этом случае выдавалась бы ошибка несоответствия типов).
Но проблема решилась сменой кодировки с UTF8 на юникод. Причем после обратного сохраниения в UTF8 все продолжало работать, так что похоже баг был в кодировке ХМЛ файла

mitado 08.10.2008 14:07

Не, рано я обрадовался, кодировка тут не причем.

Корень зла сидит в switch...case, внутри которого производятся вышеописанные операции.
Выяснилось, что внутри него обьявление переменной с одновременным присваиванием ей значения не работает! т.е. необходимо сначала объявить, а потом присвоить. Если же вынести объявление переменной с присвоением во вне свитча, то все работает корректно..


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

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