AS3 and xml: Noob outnumbered and slapped around

Not as bad as it seems maybe. I’ve had a little success linking flash to xml. What I essentially have been doing is having an array of buttons that links its index values to that of an xml file and its index values. for each button there is a childNode in other words. Not problem. The buttons and the childNodes are the same length and it all matches up nicely. The code below is typical of how I’ve been doing it and it works fine. I will mention my problem below the code:


var currentDataOne:String="xmlTestOne.xml";
var xmlLoaderOne:URLLoader=new URLLoader();
var xmlTestOne:XML=new XML();
xmlLoaderOne.addEventListener(Event.COMPLETE,loadOneXML);
xmlLoaderOne.load(new URLRequest(currentDataOne));
function loadOneXML(evt:Event):void {
    xmlTestOne=new XML(evt.target.data);
    ParseOne(xmlTestOne);
}
function ParseOne(testOneOutput:XML):void{
        for (var i:Number=0; i<aButtons.length; i++) {
            aButtons*.mouseChildren=false;
            aButtons*.buttonMode=true;
            aButtons*.addEventListener(MouseEvent.ROLL_OVER,clipOver);
            aButtons*.addEventListener(MouseEvent.ROLL_OUT,clipOut);
        }
        function clipOver(evt:Event):void {
            for (var i:Number=0; i<aButtons.length; i++) {
                if (evt.currentTarget==aButtons*) {
                    evt.currentTarget.width=45;
                    evt.currentTarget.height=45;
                    clipOneData(i);
                }
            }
        }
        function clipOut(evt:Event):void {
            for (var i:Number=0; i<aButtons.length; i++) {
                if (evt.currentTarget==aButtons*) {
                    evt.currentTarget.width=34.5;
                    evt.currentTarget.height=34.5;
                }
            }
        }
        function clipOneData(num) {
            var commentsText:String=String(testOneOutput.movieClips[num].Comments.text());
            //trace(commentsText);
            /*var clipOneList:XMLList=testOneOutput.children();
            trace(clipOneList);*/
            oneClip.txtComment.text=commentsText;
            var rankText:String=String(testOneOutput.movieClips[num].Rank.text());
            oneClip.txtNumber.text=rankText;
            trace(rankText);
            var rateText:String=String(testOneOutput.movieClips[num].Rate.text());
            oneClip.txtRate.text=rateText+"%";
            oneClip.txtSmallPercent.text=rateText+"%"
            var rateBar:Number=Number(testOneOutput.movieClips[num].Rate.text());
            oneClip.mcBar.width=rateBar*2;
            oneClip.txtSmallPercent.x=oneClip.mcBar.x+rateBar*2;
            if(rateBar>=80){
                oneClip.txtSmallPercent.x=oneClip.mcBar.x+oneClip.mcBar.width-oneClip.txtSmallPercent.width;
            }
        }
    }

I now have a project where the length of the buttons array does not match up with the xml length. After starting with button[0] which matches up with the first childNode of the xml, each button has to match up with every ninth childNode of the xml. All the childNodes are named the same and are filled up with attributes. I can parse the xml using a for loop that looks like:

for (var i:Number=0;i<TestOneOutput.childNodeName.length();i+i+9){
trace(TestOneOutput*);
}

I’ve tried in making an xml list which I can also parse with a for loop, but what I need to do is match up each button with every ninth childNode of the xml. It’s driving me nuts and I’ll bet it’s not that hard. Is it?