Opa Andre!!!
Seguinte... a serializaçao (parsing) do XML para Object é feito internamente pelo framework.
Nesse caso, ele faz uma simples verificacao:
Se existe vários nodes com o mesmo nome, dentro da mesma hierarquia, entao ele cria um arraycollection com varios objetos.
Agora, se só exsite
UM NODE ele cria um único Objeto e não uma lista de objetos com um elemento.
Entao.. para evitar essa situação de erro no casting, faça o seguinte: (pseudo-codigo, digitado direto aqui, teste para ver se realmente funciona)
// assertCollection é um método que vai tratar o resultado e devolver sempre uma colecao:
private var assertCollection(param : *) : ArrayCollection {
var result : ArrayCollection;
if (param is ArrayCollection) { //poderia generalizar com ICollectionView se quiser
result = param; //se ja é um arrayCollection, guarda-o no result
} else {
result = new ArrayCollection([param]); //adiciona o seu objeto dentro de uma nova colecao
}
return result; //ira retornar sempre uma colecao.
}
Agora no seu resultHandler vc faz:
private function handleResult(e:ResultEvent):void {
var minhaColecao : ArrayCollection =
assertCollection(e.result);
}
pronto... agora vc SEMPRE terá uma colecao! =D
Ou uma colecao de varios objetos (se o seu xml devolver assim) ou uma colecao com UM Objeto dentro.
Espero ter ajudado, abraços!
--
Mario Junior
Enterprise Java / Flex Architectures
Adobe Certified Expert Flex 3 with AIR
Sofshore Informática
http://www.sofshore.com.br
+55 (48) 3337 2003Rua Pastor Willian Richard Schisler Filho 452 sl 102, 88034-100 Itacorubi
Florianopolis SC Brasil