This may help. GetChild(NODE) gets the first child. SO you may want to do a loop and perform GetNetSibling
Until NODE = 0; -Eric GetChild(NODE) GetNextSibling(NODE) GetPrevSibling(NODE) Here is some code I use to test for a parent node. -------------------------------------------------- sub TV_NodeClick { my $node = shift; my %nodeinfo = $TV->ItemInfo($node); my $string = $nodeinfo{-text}; my $parent_node = $TV->GetParent($node); if ($parent_node != 0) { my %parentinfo = $TV->ItemInfo($parent_node); my $parentstring = $parentinfo{-text}; } }