Going loopy

I have been trying to do this for hours and have this weird problem which I just can’t get my head around.

What I am trying to do is use a loop to output the first headline, followed by the first description, second headline, second description etc from an XML file (below). Sounds straightforward(ish) and have followed the tutorials on this site and Senoculars great introduction to xml but this has really got me stuck now.

The thing is the trace comes out exactly as I want (showing headlines 1 through 5 with corresponding descriptions in sequence) but in the htmltext box I can only seem to ever see the last headline +description and its starting to drive me nuts!

Can someone please explain to me the trace VS text box output mystery. Actionscript and xml source follow, many thanks in advance…

here is the xml file:

<?xml version="1.0"?>
    	<news>
    	<story>
 		 <headline><![CDATA[<b>Headline 1</b>]]></headline>
 			<description>Text for the first story</description>
 	 </story>												 
    		<story>
    			<headline>Headline 2</headline>
 			<description>Text for the second story</description>
    		</story>
    		<story>
    			<headline>Headline 3</headline>
 			<description>Text for the third story</description>
    		</story>
    		<story>
    			<headline>Headline 4</headline>
 			<description>Text for the fourth story</description>
    		</story><story>
 		 <headline><![CDATA[<b>Headline 5</b>]]></headline>
 		 <description><![CDATA[This is the fifth story text]]></description>
    		</story>	
    	</news>
    			

here is the actionscript:


   
   var my_xml = new XML();
   my_xml.ignoreWhite = true;
   my_xml.onLoad = function(success){
   
   if (success){
   	
   	for (var i=0; i<my_xml.firstChild.childNodes.length; i++){
   
   headline = (my_xml.firstChild.childNodes*.childNodes[0].firstChild.nodeValue);
   description = (my_xml.firstChild.childNodes*.childNodes[1].firstChild.nodeValue);
   trace (headline);
   trace (description);
   viewer.htmlText = headline + description;
   
   }
   
   }
   
   }
   my_xml.load("xml_headlines.xml");