List box as3

Hi i am completely new to any form of Actionscript coding! But i have found an as2 example of how to display data from XML to flash. It basically shows a list component showing report names, when any item is clicked it will show the description (desc) of the report in a dynamic text box component.

The problem is i need this script in as3!!! it is probably so simple for experts, which is why i would really really appreciate some help to simply:

Gather data from an XML, take the report name node, and display all of the report names into a List component… then when any report name is pressed, its corresponding description will be displayed into a text box!
Please help!!

// import this so it can be used to set the scope of the combobox listener and the xml onload routine
import mx.utils.Delegate;

// declare variables
var reports:Array;
var update:String;
var dirpath:String;

// set up the XML instance
var reportsxml:XML = new XML();

// initialize items on stage
_global.style.setStyle(“fontFamily”, “Verdana”);
_global.style.setStyle(“fontSize”, 11);

// define what should happen when the XML loads
// (read data into update, dirpath, and reports variables)
function onXmlLoaded(success:Boolean) {
if (success) {
// make a handle to the root node in the xml
var mainnode:XMLNode = reportsxml.firstChild;
update = mainnode.attributes.lastupdate;
dirpath = mainnode.attributes.dir;

// set up an array of all reportdetails nodes
var reportdetailsnodes:Array = reportsxml.firstChild.childNodes;
for (var i:Number = 0; i < reportdetailsnodes.length; i++) {
// for each reportdetails node:
var reportdetailsnode:XMLNode = reportdetailsnodes*;
reports.push(
{i:i+1,
pname:reportdetailsnode.attributes.name,
desc:reportdetailsnode.childNodes[0].firstChild.nodeValue
});
}
// data is all read and put in the right place – now setup the screen
// using this data
setup();
} else {
trace(‘error reading XML’);
}
}

function setup() {
// set up choosereport dropdown
choosereport.labelField = “pname”;
choosereport.dataProvider = reports;
choosereport.addEventListener(“change”, Delegate.create(this, loadScreen));
}

function loadScreen(evt:Object) {
var thisitem:Object = evt.target.selectedItem;
ta.text = thisitem.desc;
ta.vPosition = 0;
}

function init() {
// initialize the reports array
reports = [pname];

// set up the xml instance to ignore whitespace between tags
reportsxml.ignoreWhite = true;

// set the scope of the onLoad function to the main timeline, not reportsxml
reportsxml.onLoad = Delegate.create(this, onXmlLoaded);

// start the xml loading
reportsxml.load(“report2.xml”);
}

init();

this is the xml file:

<?xml version=“1.0” encoding=“utf-8”?>
<reports lastupdate=“9/14/2005” dir="">
<reportdetails name=“Product Installations and Removals”>
<desc>The report focuses provides visability of installations and removals down to account level. these reports include any product additions and removals on accounts based upon the install date and removal date of the product.</desc>
</reportdetails>

&lt;reportdetails name="Product price variation report"&gt;
&lt;desc&gt;The report provides visability of discounts or promotions applied to accounts at product level&lt;/desc&gt;
&lt;/reportdetails&gt;

&lt;reportdetails name="Product Snapshot"&gt;
&lt;desc&gt;This report allows you to look at the latests promotion on the number of products by services type and also by customer type inclusive of status and the associated reportdetailsal rental.&lt;/desc&gt;
&lt;/reportdetails&gt;


&lt;reportdetails name="Price plan snapshot"&gt;
&lt;desc&gt;This report details the price plan and the count of services.&lt;/desc&gt;
&lt;/reportdetails&gt;

&lt;reportdetails name="Sales Report"&gt;
&lt;desc&gt;This report shows the number of product sales and cessations over time, by customer type marketing caterogy and rationalized product descriptions&lt;/desc&gt;
&lt;/reportdetails&gt;

</reports>

Sorry so long a thread. But would be soooo grateful for some of you pros to help me out!!!
Cheers in advanced