fredrabelo Postado Fevereiro 3, 2010 Denunciar Share Postado Fevereiro 3, 2010 Seguinte galera,pretendo fazer um api para leitura de qualquer xml, independente de numero de nos, filhos, nome ou atributos.Eu basicamente já consegui fazer quase tudo apartir de um tutorial que segui.O problema é que meu sisteminha so consegue chegar até o quarto nível de um xml. Isto porque foi usado 3 fors aninhados no actionscript.exemplo de como está:for ($i=0; $i<MeuXML.firstChild.childNodes.length; $i++) { for ($x=0; $x<MeuXML.firstChild.childNodes[$i].childNodes.length; $x++){ [...] }}Mas não é isto que quero.Quero que enquanto haja filhos, um laco WHILE(HOUVER FILHOS) va executando e entrando, criando novos childNodes[].childNodes.childNodes[] ...indefinidamente.Este é examente o meu problema, como fazer ele ir entrando indefinidamente nos nos.Sou novo em AS, apesar de programar a bastante tempo com C e C++ e a sintaxe ser parecida.Obrigado a quem ajudar! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pooh Postado Fevereiro 4, 2010 Denunciar Share Postado Fevereiro 4, 2010 Olá amigo!Bom não sei bem a sua utilidade com relação a isso porém temos o seguinte...no AS3 já existe suporte à xml incluse uma variavel chamada XML exemplo:var meuXML:XML = new XML(XMLSource);e para carregar um xml externo também temos um processo com Loader etc...Então não é vamos dizer muito útil o que queres fazer.Mas....se a pergunta é sobre nós é simples e espero que essa seja a ultima vez que faça isso JAMAIS repito JAMAIS utilize WHILE no AS. o Flash está muito sujeito a loops infinito devido a sua dinamicidade.Se quer fazer um loop faça um loop com funções;function bla(){ Faça algo.... if(condição){ bla();/*Aqui você faz o loop da função*/ } }no seu caso em palavras seriafunction retornaChilds(){verifica se existe alguma child no XML atualse existir, atribui ela a alguma variavel ou a alguma matriz;subistitui seu XML pela posição atual exemplo:XML = XML.firstChild;repita a funçãoretornaChild();}faça uma condicional para ele so repetir se achar alguma child. simplesQualquer duvida é so falar...Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
fredrabelo
Seguinte galera,
pretendo fazer um api para leitura de qualquer xml, independente de numero de nos, filhos, nome ou atributos.
Eu basicamente já consegui fazer quase tudo apartir de um tutorial que segui.
O problema é que meu sisteminha so consegue chegar até o quarto nível de um xml. Isto porque foi usado 3 fors aninhados no actionscript.
exemplo de como está:
for ($i=0; $i<MeuXML.firstChild.childNodes.length; $i++) {
for ($x=0; $x<MeuXML.firstChild.childNodes[$i].childNodes.length; $x++){
[...]
}
}
Mas não é isto que quero.
Quero que enquanto haja filhos, um laco WHILE(HOUVER FILHOS) va executando e entrando, criando novos childNodes[].childNodes.childNodes[] ...
indefinidamente.
Este é examente o meu problema, como fazer ele ir entrando indefinidamente nos nos.
Sou novo em AS, apesar de programar a bastante tempo com C e C++ e a sintaxe ser parecida.
Obrigado a quem ajudar!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.