Fiz uma mudança:

private function treeLabel(item:Object):String {
                //Alert.show("xxx");
                var node:XML = XML(item);
                //Alert.show(node.localName());
                if( node.localName() == "root" ) {
                        Alert.show(node.child("name"));
                        return node.child("name");
                } else if( node.localName() == "child" ) {
                        return node.child("name");
                } else if (node.localName() == "id" || node.localName()
== "name" || node.localName() == "parent") {
                        return node.name();
                } else {
                        return item.toString();
                }


            }

E faz isso:

Root
    id
    name
    X
        id
        name
        parent
        Y
            id
            name
            parent

Como faço para ele colocar os id, name e parent?

Grato.

On 29 jan, 13:44, Vinicius <vinu...@gmail.com> wrote:
> 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 em http://groups.google.com/group/flexdev

Responder a