2010-04-16 15 views
2

所以現場的文檔說,這個調用.lenght()XML對象如何找到XML孩子在AS3的數

對於XML對象上,這種方法始終 返回整數1.長度() 對於僅包含一個值的XMLList對象,XMLList類的方法返回 的值爲1。

我把它叫做一個XML看起來是這樣的:

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

我試圖myXML.lenght(),它reallt返回1.我如何得到我的XML孩子的數量?

回答

13

嘗試

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

此外,這是我使用,以確保孩子們真正的元素,而不僅僅是文本節點的方法。

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

嘗試以下操作:

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

正如我在後的說,我已經嘗試過了。好吧,它給我1甚至有2個孩子... – vasion 2010-04-16 19:17:05

+0

看起來像它正在計算您的節點,而不是您的節點。試試myXML.children().length()。 – heavilyinvolved 2010-04-16 21:16:16

4

嘗試:

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

而且myXML.*.length()將工作

-1

我認爲這是正確的方式。

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