Question
XML node has one child?
Hey guys,
I have a recursive function that search through an XML document and finds each node, whether it has children, etc. When it comes across a block like the following:
<mainitem submenu="true" name="File">
<item submenu="false">Option 1</item>
<item submenu="false">Option 2</item>
<item submenu="false">Option 3</item>
<item submenu="false">Option 4or</item>
<item submenu="false">Option 5</item>
</mainitem>
It correctly states that the first node, "File," has 5 children. But when it recurses to the child nodes it states that each node has 1 child. I am using children().length() to check for number of children....below is my function:
private function parseMenuData(menuData:XML):void{
for each(var menuItem:XML in menuData.elements()){
trace("-----------------------------------------------------------");
trace("Menuitem " + menuItem.@name + "has " + menuItem.children().length() + " children.");
if(menuItem.children().length() > 0){
parseMenuData(menuItem);
}else{
trace("No children here");
}
//parseMenuChildren(menuItem);
}
}
Thanks in advance!
I have a recursive function that search through an XML document and finds each node, whether it has children, etc. When it comes across a block like the following:
<mainitem submenu="true" name="File">
<item submenu="false">Option 1</item>
<item submenu="false">Option 2</item>
<item submenu="false">Option 3</item>
<item submenu="false">Option 4or</item>
<item submenu="false">Option 5</item>
</mainitem>
It correctly states that the first node, "File," has 5 children. But when it recurses to the child nodes it states that each node has 1 child. I am using children().length() to check for number of children....below is my function:
private function parseMenuData(menuData:XML):void{
for each(var menuItem:XML in menuData.elements()){
trace("-----------------------------------------------------------");
trace("Menuitem " + menuItem.@name + "has " + menuItem.children().length() + " children.");
if(menuItem.children().length() > 0){
parseMenuData(menuItem);
}else{
trace("No children here");
}
//parseMenuChildren(menuItem);
}
}
Thanks in advance!