2010-02-09 7 views
0

J'ai une question basique. Je charge un fichier XML en utilisant l'URLLoader et le place dans une variable XML.Flex, xml et E4x

Ma question est, puis-je tirer parti de E4x pour parcourir ces données XML.

J'ai essayé de faire

for each (var grid in xmlData.grid){ 

     output.text=grid.name; 

    } 

Mais il est dit que 'grille' variable n'a pas de déclaration de type. Cela pourrait avoir du sens car il n'y a aucun moyen pour le compilateur de savoir avant la main la structure du XML que je charge.

Mais depuis que je suis nouveau à AS3 et flex, je me demandais s'il existe un moyen de tirer parti de E4x?

Merci

Répondre

1

Vous pouvez taper anonymement (il résoudrait le problème):

for each(var grid:* in xmlData.grid) { 

mais avant de faire cela, considérer ces options:

// NOTE: This is a for...in, not a for each...in 
for (var grid:XML in xmlData.grid){ 

    // This will give you the node name: 
    // <foo/> returns (basically) "foo" 
    output1.text=grid.name(); 

    // This will give you the node attribute called name: 
    // <foo name="bar"/> returns bar 
    [email protected]; 

    // This will give you the child node named 'name': 
    // <foo><name>Heidi</name></foo> returns <name>Heidi</name>, which, 
    // when translated, should output "Heidi" as text 
    output3.text=grid.name; 
} 

Si vous utilisez l'un de ceux judicieusement, il sera probablement plus proche de ce que vous cherchez.

+0

Merci a travaillé comme un charme. Je suppose que le seul problème était que je ne donnais pas un type var grid. C'est drôle mais le tutoriel que je regardais n'a pas donné non plus. Mais tout ce qui fonctionne! – MAC

+0

@MAC - J'ai trouvé que beaucoup de tutoriels en ligne et d'exemples pour flex semblent être écrits sans être testés. Ils omettent souvent les types, le mot-clé "var" et même appellent une fonction différente du nom de la fonction dans leur propre exemple. Ce que j'essaie de dire, c'est de les prendre avec un grain de sel. Ces tutoriels ont la bonne idée quant à la technique à suivre, mais peuvent vraiment vous tromper avec une mauvaise syntaxe – invertedSpear