Fiz a seguinte mudança no xml: <root id="root" name="Root" > <child id="x" name="X" parentId="root"> <child id="y" name="Y" parentId="x"> </child> </child> <child id="z" name="Z" parentId="root"> </child> </root>
Melhorou, mas está mostrando como pasta apenas Root e X, assim: Root (pasta) X (pasta) Y (arquivo) Z (arquivo) Esse é a minah função: private function treeLabel(item:Object):String { var node:XML = XML(item); if( node.localName() == "root" ) { return node.attribute("name"); } else if( node.localName() == "child" ) { return node.attribute("name"); } else { return item.toString(); } } Estranho. On 29 jan, 14:12, Júlio César Ködel <jcko...@gmail.com> wrote: > Veja bem: você JÁ adicionou os nós na Tree (quando setou o DataProvider). > > O labelFunction apenas te dá a oportunidade de AJUSTAR o label sendo exibido. > > Para que os nós indesejados não sejam adicionados, você tem que > tratá-los antes de adicioná-los à tree via dataProvider, então, só > fazer uma função que extraia os dados desejados em um XML parecido > com: > > <node label="Texto" icon="NomeVarClassDoIcone"> > <node label="Texto" icon="NomeVarClassDoIcone"/> > </node> > > sendo icon opcional > > 2010/1/29 Vinicius <vinu...@gmail.com>: > > > > > > > Não tem como apenas pular? > > > On 29 jan, 13:48, Júlio César Ködel <jcko...@gmail.com> wrote: > >> Poisé... não vai dar não =) > > >> Cada tag do XML é um nó da árvore... e você não quer todos os nós, só > >> dois deles. > > >> Vai ter que traduzir o XML para transformá-lo para o formato correto > >> antes de carregar na tree =\ > > >> 2010/1/29 Vinicius <vinu...@gmail.com>: > > >> > Quero saber o q tenho q mudar para obter a resposta q eu quero. > >> > :) > > >> > On 29 jan, 13:43, Vinicius <vinu...@gmail.com> wrote: > >> >> Olá Júlio, > > >> >> Não está não, ele faz isso: > > >> >> root > >> >> id > >> >> name > >> >> child > >> >> id > >> >> name > >> >> parent > >> >> child > >> >> id > >> >> name > >> >> parent > > >> >> Eu quero isso: > > >> >> Root > >> >> X > >> >> Y > > >> >> Vinicius. > > >> >> On 29 jan, 13:39, Júlio César Ködel <jcko...@gmail.com> wrote: > > >> >> > Uai... ele tá fazendo exatamente o que você pediu: return node.name() > > >> >> > node.text() se não me engano retonaria o conteúdo da tag (X e Y). > > >> >> > 2010/1/29 Vinicius <vinu...@gmail.com>: > > >> >> > > Caros, > > >> >> > > Estou querendo carregar um XML em uma árvore do Flex. > > >> >> > > O meu XML é o seguinte: > > >> >> > > <root> > >> >> > > <id>root</id> > >> >> > > <name>Root</name> > >> >> > > <child> > >> >> > > <id>x</id> > >> >> > > <name>X</name> > >> >> > > <parent> > >> >> > > <id>root</id> > >> >> > > <name>Root</name> > >> >> > > </parent> > >> >> > > <child> > >> >> > > <id>y</id> > >> >> > > <name>Y</name> > >> >> > > <parent> > >> >> > > <id>x</id> > >> >> > > <name>X</name> > >> >> > > </parent> > >> >> > > </child> > >> >> > > </child> > >> >> > > </root> > > >> >> > > Gostaria que a árvore fosse assim: > > >> >> > > Root > >> >> > > X > >> >> > > Y > > >> >> > > Estou fazendo dessa forma: > > >> >> > > <mx:Tree id="tree" top="72" left="50" dataProvider="{companyData}" > >> >> > > labelFunction="treeLabel" > >> >> > > height="224" width="179"/> > > >> >> > > e o treeLabel é: > > >> >> > > private function treeLabel(item:Object):String { > >> >> > > var node:XML = XML(item); > >> >> > > if( node.localName() == "root" ) { > >> >> > > return node..name(); > >> >> > > } else if( node.localName() == "child" ) { > >> >> > > return node.name(); > >> >> > > } else if (node.localName() == "id" || > >> >> > > node.localName() > >> >> > > == "name" || node.localName() == "parent") { > >> >> > > return node.name(); > >> >> > > } else { > >> >> > > return null; > >> >> > > } > > >> >> > > } > > >> >> > > Dessa forma ele gera uma árvore com todos os itens do XML, ficando > >> >> > > assim: > >> >> > > root > >> >> > > id > >> >> > > name > >> >> > > child > >> >> > > id > >> >> > > name > >> >> > > parent > >> >> > > child > >> >> > > id > >> >> > > name > >> >> > > parent > > >> >> > > E não usa o value e sim o próprio nome da tag. > > >> >> > > Grato, > >> >> > > Vinicius. > > >> >> > > -- > >> >> > > 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 > >> >> > > emhttp://groups.google.com/group/flexdev > > >> >> > -- > >> >> > [] > >> >> > Júlio César Ködel G. > > >> > -- > >> > 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 emhttp://groups.google.com/group/flexdev > > >> -- > >> [] > >> Júlio César Ködel G. > > > -- > > 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 emhttp://groups.google.com/group/flexdev > > -- > [] > Júlio César Ködel G. -- 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