Geralmente pra cada classe que utilizo, eu crio um m�todo est�tico que
recebe o xml e devolveu um arraycollection, nesse formato:
public class Product
{
public static function fromXMLList( list: XMLList ): ArrayCollection {
var productsArray: Array = [];
var item: XML;
var product: Product;
for each (item in list) {
product = Product.fromXML( item );
productsArray.push( product );
}
return new ArrayCollection(productsArray);
}
public static function fromXML( obj: XML ): Product {
var product: Product = new Product( obj.id, obj.name );
return product;
}
}
A�, o truque � vc passar o lastresult assim:
var meusProdutos: ArrayCollection;
meusProdutos = Products.fromXMLList( XMLList(
parentDocument.sql_vitrineDetalhe.lastResult.produtos ) );
Qdo a cast do "XMLList" � executado, ele trata essa quest�o automaticamente.
Mesmo se vier s� um item, ele converte para um XMLList, o que te
permite fazer o "for each" que alimenta o ArrayCollection.
Em 04/04/08, Pat<[EMAIL PROTECTED]> escreveu:
>
> Ontem eu fiquei quase que o dia inteiro nesse problema, e achei que
> tinha resolvido, mas agora descobri um outro probleminha que at� sei
> como contornar, mas tah dando um erro.
>
> vamos lah...
>
> essa � a estrutura do meu xml:
> <produtos>
> - <item>
> <cd_referencia>6</cd_referencia>
> <ds_referencia>326/1</ds_referencia>
> <ds_simbolo>DIN 371</ds_simbolo>
> <ds_norma_pt>Rosca M�trica Grossa</ds_norma_pt>
> <ds_sigla>M</ds_sigla>
> <ds_ponta_pt>Ponta Helicoidal (POT)</ds_ponta_pt>
> <ds_imagem>../../fotos/1A-56.jpg</ds_imagem>
> <ds_imagem_especificacao>../../fotos/1A.gif</
> ds_imagem_especificacao>
> - <furos>
> <furo>../../images/menor_passante.gif</furo>
> </furos>
> - <especif_material>
> <material>../../images/especif_5.gif</material>
> </especif_material>
> </item>
> </produtos>
>
> esse � o meu repeater, que pega as tags quem vem dentro da tag
> "furos":
> <mx:Repeater id="rep_furo"
> dataProvider="{parentDocument.sql_vitrineDetalhe.lastResult.produtos.item.furos.furo}">
> <mx:Label text="{'a:'+
> parentDocument.sql_vitrineDetalhe.lastResult.produtos.item.furos.furo.getItemAt(rep_furo.currentIndex)}"
> /
> >
> </mx:Repeater>
>
> o problema � que quanto a tag furos tem s� um filho, o resultado n�o
> aparece no meu repeater, pcausa daquele tratamento qeu tenho que fazer
> pra verificar se ArrayCollection...bla bla bla
>
> entaum, fiz no creationcomplete do meu componente uma chamada a fun��o
> init() com a seguinte verifica��o:
>
> public function init():void{
> if
> (parentDocument.sql_vitrineDetalhe.lastResult.produtos.item.furos.furo
> is ArrayCollection){
> Alert.show('s');
> }
> }
>
> mas tenho o seguinte erro:
> TypeError: Error #1009: Cannot access a property or method of a null
> object reference
>
> o que eu fa�o????
>
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---