# Recursive Function, XML tree

**URL:** <https://forum.kirupa.com/t/recursive-function-xml-tree/109257>\
**Category:** Uncategorized\
**Created:** [May 3, 2004, 9:05pm UTC](https://forum.kirupa.com/t/recursive-function-xml-tree/109257 "2004-05-03T21:05:40Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![RvGaTe](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/rvgate/32/126_2.png) [@RvGaTe](https://forum.kirupa.com/u/RvGaTe)\
**Post date:** [May 3, 2004, 9:05pm UTC](https://forum.kirupa.com/t/recursive-function-xml-tree/109257/1 "2004-05-03T21:05:40Z")

</div>

ok guys, im having a problem reading a xml tree in Flash MX…

i got this tree,

**data.xml**

```php

<menu>
	<menuitem label="menu1">
		<item label="menu1_item1" file="file.swf" />
		<item label="menu1_item2" file="file.swf" />
		<menuitem label="sub1">
			<item label="menu1_sub1_item1" file="file.swf" />
			<item label="menu1_sub1_item2" file="file.swf" />
			<item label="menu1_sub1_item3" file="file.swf" />
			<item label="menu1_sub1_item4" file="file.swf" />
		</menuitem>
	</menuitem>
	<menuitem label="menu2">
		<item label="menu2_item1" file="file.swf" />
		<item label="menu2_item2" file="file.swf" />
		<menuitem label="sub1">
			<item label="menu2_sub1_item1" file="file.swf" />
			<item label="menu2_sub1_item2" file="file.swf" />
			<item label="menu2_sub1_item3" file="file.swf" />
			<item label="menu2_sub1_item4" file="file.swf" />
		</menuitem>
	</menuitem>
	<menuitem label="menu3">
		<item label="menu3_item1" file="file.swf" />
		<item label="menu3_item2" file="file.swf" />
		<menuitem label="sub1">
			<item label="menu3_sub1_item1" file="file.swf" />
			<item label="menu3_sub1_item2" file="file.swf" />
			<item label="menu3_sub1_item3" file="file.swf" />
			<item label="menu3_sub1_item4" file="file.swf" />
		</menuitem>
	</menuitem>
</menu>

```

and this Actionscript to just to view the tree…

```php

function addChilds(childs) {
	for (i=0; i<childs.length; i++) {
		if (childs*.hasChildNodes()) {
			addChilds(childs*.childNodes);
		} else {
			trace(childs*.attributes.label);
		}
	}
}
myXML = new XML();
myXML.ignoreWhite = true;
myXML.load("data.xml");
myXML.onLoad = function() {
	addChilds(this.firstChild.childNodes);
};

```

now comes the problem, when running it, i only get this:

> 

menu1\_item1  
menu1\_item2  
menu1\_sub1\_item1  
menu1\_sub1\_item2  
menu1\_sub1\_item3  
menu1\_sub1\_item4

meaning that when it calls itself again, that it will stop searching the next items on the same level from where it was called…

how do i not let it stop searching and complete the tree… please help…

(i hope it maked any sence)
