Grande Mario,

Obrigado pela dica, ajudou bastante. Consegui o que queria.

Alias, obrigado Gabriela tb pela ajuda.

2009/10/21 Mário Júnior <[email protected]>

> 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!
>
>
>
>
>
> 2009/10/21 André Cocuroci <[email protected]>
>
>>
>> Obrigado pela dica, vou tentar fazer isso do link que vc me passou,
>> porém em outro xml com root também tenho o mesmo problema citado
>> acima:
>>
>> <?xml version="1.0" encoding="ISO-8859-1" ?>
>> <detalhes>
>>        <detalhe id='1'>
>>                <estado>PR</estado>
>>                <capital minimo='100'>1500</capital>
>>                <interior minimo='500'>4500</interior>
>>        </detalhe>
>> </detalhes>
>>
>> Assim ele tá erro tb.
>>
>> On 21 out, 12:57, Gabriela Trindade Perry <[email protected]>
>> wrote:
>> > http://blog.dclick.com.br/2008/09/15/como-transformar-xml-em-arraycol.
>> ..
>>
>>
>
>
> --
> Mario Junior
> Enterprise Java / Flex Architectures
> Adobe Certified Expert Flex 3 with AIR
>
> Sofshore Informática
> http://www.sofshore.com.br
> +55 (48) 3337 2003
> Rua Pastor Willian Richard Schisler Filho 452 sl 102, 88034-100 Itacorubi
> Florianopolis SC Brasil
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a