2010-03-07 5 views
1

Dans le code XML suivant:attribut xml à un tableau

<myxml> 
    <photos> 
     <photo url="1.jpg"/> 
     <photo url="2.jpg"/> 
     <photo url="3.jpg"/> 
     <photo url="4.jpg"/> 
    </photos> 
</myxml> 

Comment puis-je utiliser e4x pour extraire les urls et les pousser dans un tableau avec le moins possible le code?

Répondre

2

Il y a une ligne de code:

var myArray:Array = Array([email protected]); 
trace(myArray); //outputs: 1.jpg2.jpg3.jpg4.jpg 

Edit: En fait, la ligne ci-dessus produit un tableau avec une longue chaîne de toutes les urls. afin de produire un tableau utile que vous voulez faire:

var myArray:Array = new Array(); 
for each(var item:XML in myXML..photo){ 
    myArray.push([email protected]); 
} 
trace(myArray); //outputs: 1.jpg,2.jpg,3.jpg,4.jpg 
+0

Ce ne (je vais supposer que vous vouliez utiliser 'Array.prototype.slice.call') fonctionne comme il s'attend' longueur' être un nombre, pas une fonction. –

+0

??? Qu'est-ce que tu racontes? Votre commentaire n'a rien à voir avec mon exemple de code? – invertedSpear

1

essayer que:

var picXML:XML; 
var arrayPic:Array = new Array(); 
var stream:FileStream = new FileStream(); 
stream.open("file.xml", FileMode.READ); 
picXML = XML(stream.readUTFBytes(stream.bytesAvailable)); 
stream.close(); 

for(var i:int = 0; i < calendarsXML.photos.photo.length();i++) 
    { 
      arrayPic.push(myxml.photos.photo[i][email protected]); 
    } 
Questions connexes