Desperatly Seeking Help with XML Submenu

I have been trying to create a submenu with XML but its getting populated with the last node in the XML. Anyone know why?

ActionScript

Object.registerClass ("item1",src.button);
Object.registerClass ("item2",src.button);
Object.registerClass ("item3",src.button);
Object.registerClass ("item4",src.button);
import mx.transitions.Tween;
import mx.transitions.easing.*;

import src.button;

var item1:button;
var item2:button;
var item3:button;
var item4:button;

var space:Number = 5;
var TotalButtons:Number = 5;

function loadXML (loaded)
{
    if (loaded) {
        CreateMainMenu(mcContainer,this);
    } else {
        trace ("file not loaded!");
    }
}
xmlData = new XML ();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load ("src/menu.xml");

GenerateMenu = function(container, node_xml) {
    // variable declarations
    var curr_node;
    var curr_item;
    var totalNodes = node_xml.childNodes.length;


    for (var i=0; i<totalNodes; i++) {
        
        curr_item = container.attachMovie("mcButton","item"+i, i);
        curr_item._x = i*122;
        curr_item.trackAsMenu = true;
        
        curr_node = node_xml.childNodes*;
        curr_item.Labels = curr_node.attributes.name;
        curr_item.SubLabels = curr_node.attributes.subLabel;
        curr_item.link = curr_node.attributes.link;
        curr_item.Value = i;
        
        curr_item.onRollOver = function(){
            this.over();
              var TxtFade:Tween = new Tween (mcSubNav.txtField,"_alpha",Regular.easeInOut, mcSubNav.txtField._alpha , 100, 1, true);
              var TxtMove:Tween = new Tween (mcSubNav.txtField,"_x",Regular.easeInOut, mcSubNav.txtField._x , this._x + 5, 1, true);
              p = this.Value;
             SubMenu(curr_node , p);
        }

        curr_item.onRollOut =function(){
            this.out();
            var TxtFade:Tween = new Tween (mcSubNav.txtField,"_alpha",Regular.easeInOut, mcSubNav.txtField._alpha, 0, 1, true);
            var TxtMove:Tween = new Tween (mcSubNav.txtField,"_x",Regular.easeInOut, mcSubNav.txtField._x , this._x + this._width, 1, true);
            mcSubNav.txtField.htmlText = "";
        }
    } // end for loop
    
};
SubMenu = function(menu_xml , button){
    var curr_node;
    var curr_item;

    var totalNodes = menu_xml.childNodes.length;
    trace(button);
    for (var i=0; i<totalNodes; i++) {
        curr_item = mcContainer["item"+button];
        
        curr_node= menu_xml.childNodes*;
        curr_item.name = curr_node.attributes.name;
        curr_item.link = curr_node.attributes.link;
        
        mcSubNav.txtField.htmlText += "<FONT><u><a href='http://"+curr_item.link+"'target='_blank'>"+curr_item.name+"</a></u></FONT>  ";
    } 

}
CreateMainMenu = function(container,menu_xml){

    GenerateMenu(container, menu_xml.firstChild);

};

XML:

<menu>
    <menu name="home" subLabel="go to start" link="index.html">
    
    </menu>
    
    <menu name="about" subLabel="who we are" link="index.html">
               <item name="About Link1" link="http://www.msn.com"/>
               <item name="About Link1" link="http://www.msn.com"/>
    </menu>
    
    <menu name="services" subLabel="what we do" link="index.html">
            <item name="Services Link1" link="http://www.alpharaven.com"/>
    </menu>
    
    <menu name="solutions" subLabel="solving problems" link="index.html">
             <item name="Solutions Link1" link="http://www.apple.com"/>
    </menu>
    
    <menu name="contacts" subLabel="phone, or email" link="index.html">
             <item name="Contact Link1" link="http://www.google.com"/>
             <item name="Contact Link2" link="http://www.google.com"/>
    </menu>
</menu>

PLEASE HELP!!!