如何在AS3中找到xml子级的数量

如何在AS3中找到xml子级的数量,xml,flash,actionscript-3,actionscript,children,Xml,Flash,Actionscript 3,Actionscript,Children,live docs这样说是为了在XML对象上调用.lenght() 对于XML对象,此方法始终 返回整数1。长度() XMLList类的方法返回一个 XMLList对象的值为1 只包含一个值 我在一个xml上调用了它,如下所示: <xml> <picture>1</picture> <picture>2</picture> </xml> 1. 2. 我尝试了myXML.lenght(),它实际返回1。如何获取xml中的

live docs这样说是为了在XML对象上调用.lenght()

对于XML对象,此方法始终 返回整数1。长度() XMLList类的方法返回一个 XMLList对象的值为1 只包含一个值

我在一个xml上调用了它,如下所示:

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

1.
2.
我尝试了myXML.lenght(),它实际返回1。如何获取xml中的子项数?

请尝试以下操作:

var num:int = myXml.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;
    }
公共静态函数getNumberChildElements(节点:XML):int{
变量计数:int=0;
对于(var i:int=0;iTry:


另外
myXML.*.length()
也可以

我认为这是正确的方法

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

正如我在帖子中所说的,我已经尝试过了。好吧,即使有两个孩子,它也会给我1…看起来它是在计算你的节点,而不是你的节点。试试myXML.children().length()。
var totPictures=myXML.picture.length();
trace(totPictures); //2
var totItems:int = myXML.elements().children().length();
trace(totItems);