Seguinte... Tô brincando com o componente Data Grind aqui e estou tentando fazer o seguinte, pegar os dados de um arquivo XML.
Meu XML:
<?xml version="1.0" encoding="iso-8859-1"?> <Dados> <item produto="Cela de Couro de Bode" preco="R$ 570,00" disponivel="Sim"/> <item produto="Bota de Couro de Bode1" preco="R$ 70,00" disponivel="Sim"/> <item produto="Bota de Couro de Bode2" preco="R$ 70,00" disponivel="Sim"/> <item produto="Bota de Couro de Bode3" preco="R$ 70,00" disponivel="Sim"/> <item produto="Bota de Couro de Bode4" preco="R$ 70,00" disponivel="Sim"/> </Dados>
Estou usando a seguinte ação no Flash:
System.useCodepage = true; XML.prototype.ignoreWhite = true; xml = new XML(); xml.onLoad = function() { produto = []; preco = []; disponivel = []; for (var i = 0; i<this.childNodes[0].childNodes.length; i++) { produto[i] = this.childNodes[0].childNodes[i].attributes.produto; preco[i] = this.childNodes[0].childNodes[i].attributes.preco; disponivel[i] = this.childNodes[0].childNodes[i].attributes.disponivel; } dados = new Array({Produto:produto[0],Preço:preco[0],Disponível:disponivel[0]},{Produto:produto[1],Preço:preco[1],Disponível:disponivel[1]}); dados_dg.dataProvider = dados; }; xml.load("dados.xml");
O dados_dg é a instância do componente Data Grind.
Esse script Funciona, pode testar aí na sua máquina e verá que funciona, o meu dilema é que tenho que declarar cada maldita linha do XML
dados = new Array({Produto:produto[0],Preço:preco[0],Disponível:disponivel[0]},{Produto:produto[1],Preço:preco[1],Disponível:disponivel[1]});
Queria algo que eu pudesse colocar no FOR, assim para cada i ele adicionava uma linha do XML no Data Grind, não sei se vocês me entendem.
Tentei algo assim:
for (var i = 0; i<this.childNodes[0].childNodes.length; i++) { produto[i] = this.childNodes[0].childNodes[i].attributes.produto; preco[i] = this.childNodes[0].childNodes[i].attributes.preco; disponivel[i] = this.childNodes[0].childNodes[i].attributes.disponivel; dados = new Array({Produto:produto[i],Preço:preco[i],Disponível:disponivel[i]}); }
Alguém pode me ajudar?
Grato