Olá, pessoal!  =)

Comecei há pouco tempo a me aventurar no mundinho do Flex. =)
E estou com uma dúvida na leitura de arquivos XML (arquivos locais
mesmo).

Consegui carregar um arquivo e colocar o seu conteúdo em um DataGrid.
Até aí, beleza. Fiz mais ou menos isso:

public var xmlLoader:URLLoader = new URLLoader();
public var xmlData:XML = new XML();

xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
xmlLoader.load(new URLRequest("dados.xml"));

public function LoadXML(e:Event):void {
        xmlData = new XML(e.target.data);
        myGrid.dataProvider = xmlData.children();
}

Meu XML está estruturado assim:
<dados>
     <item>
          <coluna1>
          </coluna1>
          <coluna2>
          </coluna2>
     </item>
</dados>

E o meu grid:
<mx:DataGrid id="myGrid">
        <mx:columns>
                <mx:DataGridColumn headerText="Coluna 1" dataField="coluna1"/>
                <mx:DataGridColumn headerText="Coluna 2" dataField="coluna2"/>
        </mx:columns>
</mx:DataGrid>


Não sei se está muito correto, pois peguei o exemplo de algum site
(nem lembro qual.. =P) e fiz umas adaptações, mas tá tudo funcionando
legal...
Meu Grid me mostra um elemento "item" do XML a cada linha, mas eu
queria colocar no mesmo arquivo XML outro tipo de informação.
Além dos "itens", poderia ter também um <configuracao> e um <versao>,
por exemplo.

No fim, eu ficaria com isso:
<dados>
     <configuracao algumaCoisa="" />
     <versao></versao>
     <item>
          <coluna1>
          </coluna1>
          <coluna2>
          </coluna2>
     </item>
</dados>

E aí, duas questões...

Primeira: eu pego o dado identificado pela tag versao e coloco num
TextInput assim:
myTxt.text = xmlData.versao;
E isso tá certinho, mas no Grid aparecem duas linhas em branco no
local (como se fossem reservadas para a <configuracao> e <versao>)...
=P
Como eu faço o componente entender que é só pra listar os "itens"?

E segunda: como eu posso pegar o atributo "algumaCoisa" da tag
<configuracao>?

Essas informações seriam postas em variáveis ou em componentes mesmo,
como um Label ou TextInput...


Muito obrigada!
Cassia


--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a