2010-04-16 8 views
2

donc docs en direct dit cela pour appeler .lenght() sur un objet XMLcomment puis-je trouver le nombre d'enfants xml dans AS3

Pour les objets XML, cette méthode toujours renvoie l'entier 1. La longueur() La méthode de la classe XMLList renvoie une valeur de 1 pour un objet XMLList que contient une seule valeur.

je l'ai appelé sur un xml qui ressemblait à ceci:

<xml> 
<picture>1</picture> 
<picture>2</picture> 
</xml> 

j'ai essayé myXML.lenght() et reallt retourné 1. Comment puis-je obtenir le nombre d'enfants dans mon xml?

Répondre

13

Essayez

var length:int = myXML.children().length(); 

En outre, c'est la méthode que j'utilise pour assurer que les enfants sont vraiment des éléments, et pas seulement les nœuds de texte.

public static function getNumberChildElements(node:XML):int{ 
     var count:int = 0; 
     for (var i:int=0; i<node.children().length(); i++){ 
      if (node.children()[i].nodeKind() == "element") 
       count++; 
     } 
     return count; 
    } 
-1

les opérations suivantes:

var num:int = myXml.length(); 
+0

comme je l'ai dit dans le post-je l'ai déjà essayé. eh bien, ça me donne 1 même avec 2 enfants ... – vasion

+0

on dirait que ça compte votre noeud , pas vos nœuds. essayez myXML.children(). length(). – heavilyinvolved

4

Essayez:

var totPictures=myXML.picture.length(); 
trace(totPictures); //2 
0

également myXML.*.length() travaillera

-1

Je pense que cela est la bonne façon.

var totItems:int = myXML.elements().children().length(); 
trace(totItems);