Este exemplo simples deve resolver o seu problema:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
        creationComplete="myService.send()">

        <mx:HTTPService id="myService" url="data.xml" resultFormat="e4x"/>

        <mx:Repeater id="rp" dataProvider="{myService.lastResult..furo}">
                <mx:Label text="{rp.currentItem}"/>
        </mx:Repeater>

</mx:Application>

"data.xml" tem o seguinte conteúdo:

<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>Furo 1</furo>
                </furos>
                <especif_material>
                        <material>../../images/especif_5.gif</material>
                </especif_material>
        </item>
</produtos>


1. Observe que o resultFormat é "e4x", ou seja, o XML do ActionScript

2. Você não precisa percorrer todo o caminho dos nós como você fez no
seu exemplo, ou seja isto já resolve "myService.lastResult..furo"

3. Você também não precisa usar esta notação gigante:
parentDocument.sql_vitrineDetalhe.lastResult.produtos.item.furos.furo.getItemAt(rep_furo.currentIndex)

no lugar disto use a propriedade "currentItem" do repeater.

4. Embora para resolver este problema você não precise criar classes
ou coisa do tipo, se você quer realmente conhecer bem o Flex você deve
dar uma olhada em Orientação a Objetos também


[]'s
Beck Novaes






On 4 abr, 16:03, Pat <[EMAIL PROTECTED]> wrote:
> 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
-~----------~----~----~----~------~----~------~--~---

Responder a