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};
}
}