Как я могу найти количество детей XML в AS3 - PullRequest
2 голосов
/ 16 апреля 2010

так что live docs говорит это для вызова .lenght () для объекта XML

Для объектов XML этот метод всегда возвращает целое число 1. Длина () метод класса XMLList возвращает значение 1 для объекта XMLList, который содержит только одно значение.

я назвал это на XML, который выглядел так:

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

Я попробовал myXML.lenght (), и он вернул 1. Как узнать количество детей в моем xml?

Ответы [ 5 ]

13 голосов
/ 16 апреля 2010

Попробуйте

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;
    }
4 голосов
/ 10 февраля 2011

Попробуйте:

var totPictures=myXML.picture.length();
trace(totPictures); //2
0 голосов
/ 23 июня 2016

Я думаю, что это правильный путь.

var totItems:int = myXML.elements().children().length();
trace(totItems);
0 голосов
/ 02 марта 2011

Также myXML.*.length() будет работать

0 голосов
/ 16 апреля 2010

Попробуйте следующее:

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