如何在as3中获取XML的最深节点?

时间:2014-09-25 12:58:54

标签: xml actionscript-3

我的XML是,

<books>
  <book>
    <chapter number="1">
        <chapter number="2">
            <chapter number="3">
            </chapter>
        </chapter>
    </chapter>
  </book>
</books>

我想使用循环获得最深的节点,如 XML 。我试过像

这样的东西
    private function getDeepNode(node:XML):XML
    {
        var nextLevelNode:XML = XML(node.chapter[0]);
        if (nextLevelNode.children().length() > 0)
        {
            return getDeepNode(nextLevelNode);
        }
        else
        {
            return nextLevelNode;
        }
    }

但我无法得到它。我不知道我的错误是什么。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

这取决于&#34;最深的&#34;你有。如果您只想获取对最后一个节点的引用,可以使用XML ..运算符:

        var xml:XML = <books>
            <book>
                <chapter number="1">
                    <chapter number="2">
                        <chapter number="3">
                        </chapter>
                    </chapter>
                </chapter>
            </book>
        </books>

        var lastNode:XML = res[res.length()-1];

        trace("last", lastNode.@number[0]);

输出:

        [trace] last 3