Using Senocular's Menu to Drive dynamic XML text

I am trying to create a listing that is driven from the [color=#800080]XML-Driven Drop-Down Menu[/color] that senocular made. (That is tight) I don’t have much exp using AS or xml but I am familiar with programming and love using flash.

My xml looks like this: in multiples


And I want it layed out like:

3.00 NOR 01/08/05 02/12/05 HY LIBR 115 etc.
3.00 NOR 01/08/05 02/12/05 HY LIBR 115 etc.
3.00 NOR 01/08/05 02/12/05 HY LIBR 115 etc.

I like the way the menu does this with its list.

I think Senocular uses this:

// for all items or XML nodes (items and menus)
// within this node_xml passed for this menu
for (var i=0; i<node_xml.childNodes.length; i++) {
// movieclip for each menu item
curr_item = curr_menu.attachMovie(“menuitem”,“item”+i+"_mc", i);
curr_item._x = x;
curr_item._y = y + i*curr_item._height;
curr_item.trackAsMenu = true;

(I need to work on this type of variable passing. Is there a tutorial out there on this?)

My idea is to populate the above text into the required space using the same technique as in the menu. Creating a rollover effect that takes the info from an xml file.

My first idea was to use the action “message” to populate the required space, but I ran into a problem. The required text is dynamic and does not cover the same are, and will vary with the menu choice.

I used this to pull the xml:

function loadXML(loaded) {
if (loaded) {
_root.header01 = this.firstChild.childNodes[0].childNodes[3].firstChild.nodeValue;
_root.desc01 = this.firstChild.childNodes[0].childNodes[6].firstChild.nodeValue;
_root.starts = this.firstChild.childNodes[0].childNodes[16].firstChild.nodeValue;
_root.ends = this.firstChild.childNodes[0].childNodes[17].firstChild.nodeValue;
_root.name01 = this.firstChild.childNodes[0].childNodes[4].firstChild.nodeValue;
_root.sub01 = this.firstChild.childNodes[0].childNodes[0].firstChild.nodeValue;
_root.crsno01 = this.firstChild.childNodes[0].childNodes[1].firstChild.nodeValue;
_root.units01 = this.firstChild.childNodes[0].childNodes[7].firstChild.nodeValue;
_root.code01 = this.firstChild.childNodes[0].childNodes[2].firstChild.nodeValue;
_root.hourss = this.firstChild.childNodes[0].childNodes[17].firstChild.nodeValue;
_root.hourse = this.firstChild.childNodes[0].childNodes[18].firstChild.nodeValue;
_root.days = this.firstChild.childNodes[0].childNodes[15].firstChild.nodeValue; = this.firstChild.childNodes[0].childNodes[13].firstChild.nodeValue; = this.firstChild.childNodes[0].childNodes[12].firstChild.nodeValue;
title_txt.text = _root.header01;
desc_txt.text = _root.desc01;
code_txt.text = _root.code01;
name_txt.text = _root.name01;
etime_txt.text = _root.hourss;
stime_txt.text = _root.hourse;
subj_txt.text = _root.sub01;
crsno_txt.text = _root.crsno01;
units_txt.text = _root.units01;
days_txt.text = _root.days;
room_txt.text =;
bldg_txt.text =;
} else {
content = “file not loaded!”;
Looks very clunky. I think it can be written better.

Is it a combination of both? Any help is greatly appreciated.