Ciao, io poi ieri mi sono dimenticato di scriverti il codice...ho "risolto" abbastanza presto l'unica cosa è che sarebbe da perfezionare ovvero devi trovare il modo di non far visualizzare gli "<ul>[/list]" inutili...quelli vuoti.

codice:
<?PHP
    function get_tree($xml,$baseurl) {
        $result = "";
        $result.="<ul>";

        foreach($xml->item as $children){
            if (!$children->menu)
                continue;

            $descr=$children->description;

            $result .= "\n\t[*]";

            if (isset($children->link)){
                $result .= "<a href=\"".$baseurl."/".$children->link."\" title=\"".$descr."\">".$children->menu."</a>\n";
            } else {
                $result .= "<a href=\"#\" title=\"".$descr."\" class=\"continua\">".$children->menu."</a>\n";
            }

            $result .= get_tree($children,$baseurl);
            $result .= "\t\n";
        }

        $result.="[/list]\n";
        return $result;
    }

    $result = "";
    $xml = simplexml_load_file('menu.xml');
    $result.=get_tree($xml,"");

    print $result;

?>
Questo codice produce questo output:
codice:
<ul>
	[*]Prima Voce
        <ul>[*]Prima Sotto Voce
            <ul>[/list]
            
[*]Seconda Sotto Voce
                <ul>[*]Prima SSotto Voce
                    <ul>[/list]
                    
[*]Seconda SSotto Voce
                    <ul>[/list]
                    
[*]Terza SSotto Voce
                    <ul>[/list]
                    [/list]
            
[*]Terza Sotto Voce
            <ul>[/list]
            [/list]
	[/list]
che è ok a meno di:
codice:
[*]Terza Sotto Voce
            <ul>[/list]
dove il <ul>[/list]è superfluo...devi cercare di aggiungere qualche condizione che se un determinato ITEM non ha subitem allora non li mette proprio...