для обхода дерева c неизвестной глубиной используют
рекурсию

Код AS3:
function print (xml:XML):void
{
trace(xml.toXMLString());
for each (var child:XML in xml.*)
{
print(child);
}
}
print(xml);
или цикл со
стеком

Код AS3:
var stack:Vector.<XML> = new <XML>[xml];
while (stack.length > 0)
{
var node:XML = stack.pop();
trace(node.toXMLString());
var children:XMLList = node.*;
for (var i:int = children.length() - 1; i >= 0; i--)
{
stack.push(children[i]);
}
}
в зависимости от задачи