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
Em 21/12/2011 16: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>
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>
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=**
13_Working_with_XML_03.html<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>
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>
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