boa Luis,

se redimiu!

hehehehe :P

Abraços

Rogério

2011/12/21 Luis Eduardo <ledua...@suprasis.com.br>

>
>
>
>    Agora é ooooooutra coisa! hehe
>
>    Tá bom Rogério, só pq vc falou que eu estou pegando pesado segue um
> código prontinho que resolve o que eu entendi do problema.
>    Carolina, veja se realmente é isso mesmo.
>
>    (De qualquer forma dê uma lida nos links que te passei pra manipulação
> com E4X pq isso vai te ajudar um tanto quando lidar com XML.)
>
>    Fico no aguardo pra saber fechou.
>
>    abraços,
>    - Luís
>
> ----------------------------<?**xml version="1.0" encoding="utf-8"?>
> <s:Application 
> xmlns:fx="http://ns.adobe.com/**mxml/2009<http://ns.adobe.com/mxml/2009>
> "
>               
> xmlns:s="library://ns.adobe.**com/flex/spark<http://ns.adobe.com/flex/spark>
> "
>               
> xmlns:mx="library://ns.adobe.**com/flex/mx<http://ns.adobe.com/flex/mx>"
> minWidth="955" minHeight="600">
> <fx:Declarations>
> <s:XMLListCollection id="xmllcCombo" source="{xmll.noinicial}"/>
> <s:XMLListCollection id="xmllcTree"/>
> <fx:XMLList id="xmll">
>
> <content>
> <noinicial label="primeiro no">
> <nofilho label="filho1">
> <noneto label="neto1.1"/>
> <noneto label="neto1.2"/>
> <noneto label="neto1.3"/>
> </nofilho>
> </noinicial>
> <noinicial label="segundo no">
>
> <nofilho label="filho2.1">
> <noneto label="neto2.1"/>
> <noneto label="neto2.2"/>
> <noneto label="neto2.3"/>
> </nofilho>
> </noinicial>
> </content>
> </fx:XMLList>
> </fx:Declarations>
> <fx:Script>
> <![CDATA[
>            import mx.collections.**XMLListCollection;
>            import spark.events.IndexChangeEvent;
>
>            protected function mudaTree(event:**IndexChangeEvent):void {
>                var cb:ComboBox = event.currentTarget as ComboBox;
>                var xmltemp:XML = XML(cb.selectedItem).copy();
>
>                xmllcTree.removeAll();
>                xmllcTree.source = xmltemp.nofilho;
>            }
>
>        ]]>
> </fx:Script>
>
> <s:ComboBox x="100" y="100" change="mudaTree(event)"
> dataProvider="{xmllcCombo}" prompt="Selecione..." labelField="@label"/>
> <mx:Tree id="secoia" x="100" y="200" width="300" height="400"
> dataProvider="{xmllcTree}" labelField="@label" />
> </s:Application>
> ------------------------------**------------------------------**
> ------------------------------**-------
>
>
>
>
>
> Em 21/12/2011 15:59, Carolina Duval escreveu:
>
>  Na vardade, obter o xml externo eu consigo, tanto com httpservices ou
>> com URLoader
>> e consigo colocar seus valores dentro do combobox, o que não consigo é
>> pegar o filtro
>> que estou fazendo com o combobox para acessar o nó especifico do xml;
>> Exemplo:
>>
>> Tenho esse xml a titulo de exemplo
>>
>> <content>
>>   <noinicial label="primeiro no">
>>     <nofilho label="filho1">
>>        <noneto label="neto1.1"/>
>>        <noneto label="neto1.2"/>
>>        <noneto label="neto1.3"/>
>>     </nofilho>
>>   </noinicial>
>>   <noinicia label="segundo no">
>>     <nofilho label="filho2.1">
>>         <noneto label="neto2.1"/>
>>        <noneto label="neto2.2"/>
>>        <noneto label="neto2.3"/>
>>     </nofilho>
>>   </noinicial>
>> </content>
>>
>> no combobox eu escolho qual o nó inicial,
>> ai então carrega a tree com a pasta filho e os nos netos.
>>
>> estou carregando o xml assim:
>>
>> [Bindable]
>>                        private var XMLTree:XML;
>>
>>                        private function init():void
>>                        {
>>                        var request:URLLoader = new URLLoader();
>>                        request.addEventListener(**Event.COMPLETE,
>> setXML);
>>                        request.load(new URLRequest("../assets/Content.**
>> xml"));
>>                        }
>>
>>                        public function setXML(e:Event):void
>>                        {
>>                        XMLTree = new XML(e.target.data);
>>
>>                        }
>>
>> ai no combo coloco o dataprovider
>> <s:dataProvider>
>>     <s:XMLListCollection source="{XMLTree.noinicial}"/>
>> </s:dataProvider>
>>  no proximo combo coloco
>> <s:dataProvider>
>>     <s:XMLListCollection source="{ID_combo1.**selectedItem.nofilho}"/>
>> </s:dataProvider>
>> os labelField estão @label ate então OK
>>
>> mas na hora de popular a tree com o resultado dos combos é que esta
>> com problema
>> pois não esta aceitando ID_combo.selectedItem.noneto.
>>
>> este é o problema.
>>
>> Obrigado Rogerio e Luiz
>>
>> On Dec 21, 4:32 pm, Rogerio 
>> Gonzalez<rogerio.gonza...@**gmail.com<rogerio.gonza...@gmail.com>
>> >
>> wrote:
>>
>>> Poxa Luis,
>>>
>>> Dá uma folga pra Carolina. A maior parte dos cursos considera E4X como
>>> "Advanced" hehehe.
>>>
>>> Sobre a carga de arquivos externos, vc pode usar o httpservice com o
>>> resultFormat setado como object.
>>> Desta forma, o seu XML externo já vai ser carregado no httpservice e vc
>>> poderá acessá-lo como um objecto as3 normal, usando o lastResult.
>>>
>>> Acredito q deva ter algum exemplo na documentacao usando tree com object
>>> vindo de um httpservice.
>>>
>>> Agora, se vc realmente quer usar XML no flex, ai o caminho é E4X mesmo.
>>>
>>> Abraços
>>>
>>> Rogério Gonzalez
>>>
>>> 2011/12/21 Luis Eduardo<ledua...@suprasis.com.**br<ledua...@suprasis.com.br>
>>> >
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>     Carolina,
>>>>    Você está fazendo duas coisas erradas ao mesmo tempo:
>>>>    1) Não gastou um tempinho pra estudar direito como funciona E4X no
>>>> actionscript
>>>>    2) Sua pergunta está genérica demais.
>>>>    Recomendo tentar de novo primeiro passando pelo item 1 e depois pelo
>>>> 2.
>>>>    Para o item 1, um bom ponto de partida são esses dois links:
>>>>    
>>>> http://livedocs.adobe.com/****flex/3/html/help.html?content=****<http://livedocs.adobe.com/**flex/3/html/help.html?content=**>
>>>> 13_Working_with_XML_03.html<ht**tp://livedocs.adobe.com/flex/**
>>>> 3/html/help.html?content=13_**Working_wi..<http://livedocs.adobe.com/flex/3/html/help.html?content=13_Working_wi..>
>>>> .>
>>>>    http://www.flexao.net/2009/06/****manipulando-xml-no-flex-com-**
>>>> **e4x.html<http://www.flexao.net/2009/06/**manipulando-xml-no-flex-com-**e4x.html>
>>>> <http://www.flexao.**net/2009/06/manipulando-xml-**no-flex-com-e4x.html<http://www.flexao.net/2009/06/manipulando-xml-no-flex-com-e4x.html>
>>>> >
>>>>    Para o item 2, um pouco de código-fonte já ajuda bastante pra gente
>>>> entender melhor onde foi que vc teve dificuldade.
>>>>    É que existem varias maneiras de acessar um xml externo e várias
>>>> maneiras de mostrá-lo.
>>>>    abraços,
>>>>    - Luís Eduardo.
>>>> Em 21/12/2011 12:27, Carolina Duval escreveu:
>>>>  Alguém sabe como acessar um xml externo e colocar um no especifico
>>>>
>>>>> para mostrar no tree.
>>>>>
>>>> --
>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
>>>> Para sair da lista, envie um email em branco para flexdev-unsubscribe@
>>>> **
>>>> googlegroups.com<flexdev-**unsubscr...@googlegroups.com<flexdev-unsubscr...@googlegroups.com>
>>>> >
>>>> Mais opções estão disponíveis emhttp://groups.google.com/****
>>>> group/flexdev <http://groups.google.com/**group/flexdev><http://groups.
>>>> **google.com/group/flexdev <http://groups.google.com/group/flexdev>>
>>>>
>>>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
> Para sair da lista, envie um email em branco para flexdev-unsubscribe@**
> googlegroups.com <flexdev-unsubscr...@googlegroups.com>
> Mais opções estão disponíveis em 
> http://groups.google.com/**group/flexdev<http://groups.google.com/group/flexdev>
>

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

Responder a