Luis Eduardo, no seu código o que seria essa linha:

var temp:XMLList = raiz.response.ContaContabil;

precisamente o ContaContábil

até essa linha:

var raiz:XML = XML(ev.result.toString());
raiz = raiz.normalize();

meu código está pegando o XML certinho, mas depois disso ele simplesmente 
some.

Att

Luis Carlos



----- Original Message ----- 
From: "Luís Eduardo" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Saturday, March 10, 2007 3:11 AM
Subject: [flexdev] Re: ArrayCollection + AhaTTPService





 O e4x é um dos formatos que o httpservice consegue trabalhar. Esse
formato é mais adequado quando se usa xml como resposta do servidor,
exatamente do jeito que eu e vc estamos fazendo mesmo.
 Se não me engano, esse mnemônico "e4x" significa "Ecmascript for XML".
 É um conjunto de funcionalidades para se trabalhar o xml de forma mais
intuitiva. O httpservice funciona melhor usando ele. Eu pelo menos acho.
  Se tiver um tempo, dê uma lida no artigo que o Michael Labriola
escreveu sobre como visualizar dados no datagrid usando xml. Apesar de
não ser bem isso que estamos falando aqui agora, a primeira parte do
artigo é um ótimo guia do que se consegue fazer usando o e4x.
(http://www.adobe.com/devnet/flex/articles/e4x.html )   ( ou essa
"seSÇão" no livedocs
http://livedocs.macromedia.com/flex/2/docs/00001912.html  )

  Rapaz...  gostei do seu jeito de identar o xml. :)  O email sempre
detonou a identação...se não for copyrigthed eu vou usar tb ok?

  abração!

           Luís Eduardo.




Luis Carlos Quinhone escreveu:

>Só uma dúvida Luis Eduardo, por padrão, se não for especificado o
>HTTPService traz as informações como objeto, tentei usar os outros tipos e
>nenhum funcionou
>somente o objeto que formato é esse e4x?
>
>no meu caso as informações saem do php assim:
>
><resultado>
>....<respostas>
>.........<id>10</id>
>.........<resp>Ótimo</resp>
>.........<voto>15</voto>
>.........<unico>1</unico>
>....</respostas>
></resultado>
>
><resultado>
>....<respostas>
>.........<id>10</id>
>.........<resp>Bom</resp>
>.........<voto>19</voto>
>.........<unico>2</unico>
>....</respostas>
></resultado>
>
>att
>
>Quinhone
>
>
>
>----- Original Message ----- 
>From: "Luís Eduardo" <[EMAIL PROTECTED]>
>To: <[email protected]>
>Sent: Friday, March 09, 2007 5:49 PM
>Subject: [flexdev] Re: ArrayCollection + AhaTTPService
>
>
>
>
>
>
>  segue um exemplo.
>
>no mxml:
>
> <mx:HTTPService
>        id="dsContaContabil"
>        url="urlaqui"
>        useProxy="false"
>        resultFormat="e4x"
>        method="POST"
>        contentType="application/x-www-form-urlencoded"
>        showBusyCursor="true"
>        result="handleDsContaContabilResult(event)"
>        fault="handleDsFault(event)"
>        >
>    </mx:HTTPService>
>    <mx:XMLListCollection id="ContaContabilXMLLC"/>
>
>
>no script:
>
>private function handleDsContaContabilResult( ev:ResultEvent ):void {
>
>                var raiz:XML = XML(ev.result.toString());
>                raiz = raiz.normalize();
>
>                 // transferindo resultado para o dataprovider do datagrid
>                 var temp:XMLList = raiz.response.ContaContabil;
>
>                 ContaContabilXMLLC.removeAll();
>                 ContaContabilXMLLC.source = temp;
>            }
>
>
>essa é a idéia da coisa. Tive que remover umas linhas pra deixar mais
>legivel o foco do problema. (pegar o resultado do httpservice e jogar no
>collection)
>
>
>
>  []s
>
>        Luís Eduardo.
>
>
>
>
>Luis Carlos Quinhone escreveu:
>
>
>
>>e como vc pega o resultado do HTTPService e joga no XMLListCollection?
>>
>>Att
>>
>>Quinhone
>>
>>----- Original Message ----- 
>>From: "Luís Eduardo" <[EMAIL PROTECTED]>
>>To: <[email protected]>
>>Sent: Friday, March 09, 2007 2:16 PM
>>Subject: [flexdev] Re: ArrayCollection + AhaTTPService
>>
>>
>>
>>
>>
>> Quinhone, eu não pude olhar seu codigo fonte inteiro mas já tive um
>>erro parecido quando tentei usar esse metodo indexado [0].
>> existem alguns jeitos de resolver...  o jeito mais correto seria
>>testar se existe mesmo tal nó antes de tentar acessá-lo. Tanto os nós
>>filhos (aqueles com []) quanto os nós pais da hierarquia.
>>lastResult.resultado.respostas.  O ideal mesmo era não usar lastResult.
>>Melhor seria usar o evento result do HTTPService e lá dentro vc trata e
>>monta um arraycollection pro resto da aplicação usar.
>> eu aqui uso XMLListCollection..  é um pouco diferente do
>>ArrayCollection, mas aqui faço assim:
>>
>> para testar se existe um nó "Combustivel" dentro de um xml antes de
>>enviar o Id a um lookupcombobox.:
>>
>>if ( xmlIn.Combustivel != undefined ) {
>>                   cbxCombustivelC.selectItemByValue(
>>[EMAIL PROTECTED] );
>>               } else { cbxCombustivelC.clearItem();}
>>
>> para acessar um item indexado, e testar antes se ele existe mesmo,
>>aqui eu uso assim:
>>
>>if (XMLList(xmlMestre).children().length() > 0) {
>>                   dtEmissaoC.text = XMLList(xmlMestre)[EMAIL PROTECTED];
>>               }
>>               else {
>>                   dtEmissaoC.clearItem();
>>               }
>>
>>onde o xmlmestre tem o formato:
>><Pagamento> varios subitems </Pagamento>
>><Pagamento> varios subitems </Pagamento>
>><Pagamento> varios subitems </Pagamento>
>>
>>(perceba que não tem um nó raiz, logo não é um xml válido, mas o XMLList
>>sempre tem um nó raiz próprio  e o cast já trata isso pra mim.)
>>
>>
>>agora....  sempre existe a solução ultra super rápida is very good POG. 
>>:)
>>coloca assim:
>>
>>private function gauge():void {
>>try {
>>toda a função aqui
>>} catch(erro:Error) {
>>return
>>}
>>}
>>
>>que ninguem mais vai ver o pipino, nem o usuario nem o gerente de
>>projeto. Vc resolve o erro em 1 min e ainda leva a fama de que é bom de
>>serviço.  hehe
>>
>>eeee  mundo cruel.
>>
>> abração.
>>
>>    Luís Eduardo.
>>
>>
>>
>>Luis Carlos Quinhone escreveu:
>>
>>
>>
>>
>>
>>>Bom é o seguinte pessoal, não me conformei com um Warning que o flex
>>>está me mostrando com relação a minha enquete, então resolvi encará-la.
>>>
>>>esse warning é porque usei essa linha:
>>>{pegaDados.lastResult.resultado.respostas[0].unico}
>>>o flex não aceita, executa, mas pro flex é anti-ético, usar respostas[
>>>0 ] ele pede pra usar o ArrayCollection.getItemAt(0), então fui a luta
>>>atrás dele na documentação, criei usaei, mas não pega o resultado,
>>>então se alguém já usaou ou souber usar e puder me ensinar ou mandar
>>>algum material eu agradeço.
>>>Pq na doocumentação só mostra exemplo simples com Array.
>>>
>>>Estou tentando usar da seuinte forma:
>>>
>>>           [Bindable]
>>>           public var myAC:ArrayCollection;
>>>
>>>           public function initData():void {
>>>               myAC = new
>>>ArrayCollection(ArrayUtil.toArray(pegaDados.lastResult.resultado.respostas));
>>>//pega dados é o meu HTTPServce
>>>           }
>>>
>>>e estou pegando assim os dados:
>>>
>>><mx:Label x="133" y="10" text="{myAC.getItemAt(1)}" id="lbl1"/>
>>>
>>>mas não pega nada
>>>
>>>Att
>>>
>>>Quinhone
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>
>>
>>
>
>
>
>
>>
>
>
>




--~--~---------~--~----~------------~-------~--~----~
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