Man kann ganz einfach rekursiv parsen:
ActionScript:
var myXml:XML=
<data>
<category id="1" test="bla">
<name><![CDATA[Name]]></name>
<subitem id="9">sub 1-1</subitem>
<subitem id="4">sub 2-1</subitem>
</category>
</data>
;
parseRecursive(myXml);
function parseRecursive(xml:XML,ebene:int=0){
trace("Ebene: "+ebene);
trace(" Knoten: "+xml.name());
trace(" Attribute: ");
for each(var a:XML in xml.attributes())trace(" "+a.name()+"="+a);
trace(" Inhalt: "+xml.text());
for each(var child:XML in xml.children())if(child.name())parseRecursive(child,ebene+1);
}