|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Sep 2009
Сообщений: 8
|
Ошибка при конвертации XML в ArrayCollection
Ситуация следующая:
Флекс-прилоджение получает XML файл через HTTPService и результат конвертируется в ArrayCollection. Если в XML у корневого элемента несколько (2 и больше) дочерних, то все ОК они стают элементами ArrayCollection. Но если один, то выскакивет ошибка: Type Coercion failed: cannot convert mx.utils::ObjectProxy@11adac11 to mx.collections.ArrayCollection. Гуглить пробовал, не нашел. Может кто подскажет... |
|
|||||
Я подскажу.
Сегодня утром с таким же столкнулся и несколько часов разбирался в чем дело. Например если есть: <peoples> <person> <name>Вася</name> <age>20</age> </person> </peoples> Если у вас в XML у корневого элемента только один дочерний, то когда вы пробуете присвоить так for each(i:myobj in myxmlhttp.lastResult.peoples){алалала} то у вас i получается не обьектом, который содержит свойства (name, age), а i у вас получается равным последнему элементу то бишь i=20 и цикл for each проскакивается. При это дебаггер отображает свойства myxmlhttp.lastResult и вниз по цепочке правильно, но когда идет присвоение - каюк. Решение - используйте формат resultFormat="e4x", что соответствует классу XML в данном случае вы пишите как-то так: i=myxmlhhtp.lastResult; age = i.person[0].age;//корневое свойство peoples почему-то указывать не надо |
Часовой пояс GMT +4, время: 11:51. |
|
« Предыдущая тема | Следующая тема » |
Теги |
ArrayCollection , xml |
|
|