<mx:Xml source="file.xml" id="_xml" />

<mx:DataGrid dataProvider="{_xml.itens}" />

SaintBr.     =]
blog.saintbr.com.br
----- Original Message ----- 
From: "Cassia" <[EMAIL PROTECTED]>
To: "flexdev" <[email protected]>
Sent: Tuesday, August 07, 2007 2:21 PM
Subject: [flexdev] Lendo arquivos XML



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 [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
-~----------~----~----~----~------~----~------~--~---

Responder a