Carolina, pelo q vc escreveu, creio q vc deveria popular o segundo combobox com:
<s:dataProvider> <s:XMLListCollection source="{ID_combo1.selectedItem.nofilho.noneto}"/> </s:dataProvider> As infos q vc quer estão no <noneto> que estão em <nofilho> , ID_combo.selectedItem.noneto não existe. vc poderia usar tb ID_combo.selectedItem..noneto (com .. mesmo) que é um recurso do E4X que permite acessar os nós com o nome definido (no caso <noneto>) em qq profundidade do nó q vc está (no caso todos os <noneto> dentro de <noinicial>) não importando o quanto estejam aninhados dentro de outros nós. Abrs -- Gustavo Martinez 2011/12/22 Carolina Duval <carolinaduval...@gmail.com> > Gente, o XML não pode estar na aplicação, > ele tem que ser externo para ser alterado posteriormente com mais > netos, > eu usei httpservices para buscar o xml externo e ficou 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); > } > > > e populei os combos que preciso assim: > <s:DropDownList id="drop1" labelField="@label"> > <s:dataProvider> > <s:XMLListCollection source="{XMLTree.noinicial}"/> > </s:dataProvider> > </s:DropDownList> > > porque o DropDownlis so aceita "xlist" e o resultado do urlrequest não > é "xlist" por isso usei desta forma > > ate então esta parte esta funcionando, os meu combos estão todos sendo > preenchidos, > quando seleciono o ultimo combo ele deveria passar o valor do item > combo selecionado mais o item da frente que não esta funcionando, > > o tree esta assim: > > <mx:Tree id="tree" dataProvider="drop1*.selectedItem.nofilhos" <!-- > *Aqui no caso vai o ultimo combo--> > labelField="@label" /> nesta tree deveria aparecer os filhos com seus > filhos <-(netos no caso), entenderam. > > On Dec 22, 8:02 am, Rogerio Gonzalez <rogerio.gonza...@gmail.com> > wrote: > > 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-unsubscribe > @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 emhttp:// > 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 > -- 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