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 <[email protected]> wrote:
> Quero saber o q tenho q mudar para obter a resposta q eu quero.
> :)
>
> On 29 jan, 13:43, Vinicius <[email protected]> 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 <[email protected]> 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 <[email protected]>:
>
> > > > 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 [email protected]
> > > > Para sair da lista, envie um email em branco para
> > > > [email protected]
> > > > 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 [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev