# Flash and xml...please debug my code

**URL:** <https://forum.kirupa.com/t/flash-and-xml-please-debug-my-code/172958>\
**Category:** Uncategorized\
**Created:** [December 19, 2005, 10:14pm UTC](https://forum.kirupa.com/t/flash-and-xml-please-debug-my-code/172958 "2005-12-19T22:14:51Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![subhababu](https://avatars.discourse-cdn.com/v4/letter/s/5fc32e/32.png) [@subhababu](https://forum.kirupa.com/u/subhababu)\
**Post date:** [December 19, 2005, 10:14pm UTC](https://forum.kirupa.com/t/flash-and-xml-please-debug-my-code/172958/1 "2005-12-19T22:14:51Z")

</div>

Please don’t runaway…

Thanks for looking into this question…Please help…Here my question is…

I have this actionscript which is structured for my old xml ( given below)…now i have to change the structure according to the new XML (given below)…  
The change in the new xml is item node is divided and structured properly for some other use…so, i am not sure how I can change it to my actionscript…

What I am trying to do?  
I have to create a interactive flash swf. left side navigation, right side navigation and a ad banner are the main areas in this. Side Navigation is a movie clip created on runtime getting the label name from item name(from xml) when u click on the button, it will change the right navigation with the links (trackTxt)…when I am clicking on trackTxt, the ad banner should change…

Hope someone understands my language…and help me to do this. or Please ask me …so that i can explain better…  
my actionscript:

var TAB = 9;  
var LINEFEED = 10;  
var CARRIAGE = 13;  
var SPACE = 32;  
//  
String.prototype.LTrim = function() {  
var s = this.toString();  
var i = 0;  
while (s.charCodeAt(i) == SPACE || s.charCodeAt(i) == CARRIAGE || s.charCodeAt(i) == LINEFEED || s.charCodeAt(i) == TAB) {  
i++;  
}  
return s.substring(i, s.length);  
};  
//  
String.prototype.RTrim = function() {  
var s = this.toString();  
var i = s.length-1;  
while (s.charCodeAt(i) == SPACE || s.charCodeAt(i) == CARRIAGE || s.charCodeAt(i) == LINEFEED || s.charCodeAt(i) == TAB) {  
i–;  
}  
return s.substring(0, i+1);  
};  
//  
String.prototype.Trim = function() {  
var s = this.toString();  
return s.LTrim().RTrim();  
};  
// --------------------+  
// Attach Side Nav |  
// --------------------+  
var up\_fmt:TextFormat = new TextFormat();  
up\_fmt.align = “left”;  
up\_fmt.color = 0xFFFFFF;

var active\_fmt:TextFormat = new TextFormat();  
active\_fmt.align = “left”;  
active\_fmt.color = 0x15364a;

this.attachMovie(“SideNav”, “sideNav”, 100, {\_x:6, \_y:150, xmlPath:\_level0.theXML\_location});  
sideNav.truncateTextOffset = 0;

function loaded(eventObject:Object) {  
parsemyData(sideNav.xmlData);  
//trace(“Loaded!!!”);  
}  
function error(eventObject:Object) {  
//trace("ERROR! || "+eventObject.data);  
}  
sideNav.addEventListener(“loaded”, this);  
sideNav.addEventListener(“error”, this);

sideNav.activeBtnHeight = 81;  
sideNav.upFormat = up\_fmt;  
sideNav.rollOverFormat = up\_fmt;  
sideNav.activeFormat = active\_fmt;  
sideNav.activeYOffset = 20;  
sideNav.tipBgColor = 0xCCCCCC;  
// Put the shadow elements in front of the Side Nav  
shadow.swapDepths(101);

// --------------------+  
// CSS for cart\_txt |  
// --------------------+  
var myStyle = new TextField.StyleSheet();  
myStyle.setStyle(“a:hover”, {color:’#0000FF’, textDecoration:‘underline’});  
cart\_txt.styleSheet = myStyle;  
track\_txt.styleSheet = myStyle;  
myStyle.onLoad = function(ok) {  
if (ok) {  
cart\_txt.styleSheet = myStyle;  
track\_txt.styleSheet = myStyle;  
}  
};  
if (\_level0.cssLocation.length) {  
myStyle.load(\_level0.cssLocation);  
}  
// ---------------------+  
// |  
// ---------------------+  
/\*\*

- 

```
toObject

```

- 

```
     Method extension to the built-in XML class. Returns an Generic Object from this XML.

```

_/  
XML.prototype.toObject = function() {  
var $xparse = function (n) {  
var o = new String(n.firstChild.nodeValue), s, i, t;  
for (s=(o == “null”) ? n.firstChild : n.childNodes[1]; s != null; s=s.nextSibling) {  
t = s.childNodes.length\>0 ? arguments.callee(s) : new String(s.nodeValue);  
for (i in s.attributes) {  
t_ = s.attributes\*;  
}  
if (o[s.nodeName] != undefined) {  
if (!(o[s.nodeName] instanceof Array)) {  
o[s.nodeName] = [o[s.nodeName]];  
}  
o[s.nodeName].push(t);  
} else {  
o[s.nodeName] = t;  
}  
}  
return o;  
};  
var r = $xparse(this);  
return r;  
};  
//  
function parsemyData(xml) {  
\_global.myData = xml.toObject();  
itemArray = new Array();  
if (myData) {  
// ------------------------------+  
// START FIX ‘THE ONE ITEM BUG’ |  
// ------------------------------+  
trace("Info node: "+xml.firstChild.childNodes[0].childNodes.length);  
if(xml.firstChild.childNodes[0].childNodes.length == 1){  
var itemNode = xml.firstChild.childNodes[0].childNodes[0];  
itemArray.length = 0;  
//  
var itemObj = new Object();  
itemObj.spotlight = itemNode.attributes.spotlight;  
itemObj.cartHead = itemNode.attributes.cartHead;  
itemObj.trackTxt = itemNode.attributes.trackTxt;  
itemObj.trackHead = itemNode.attributes.trackHead;  
itemObj.path = itemNode.attributes.path;  
itemObj.pms = itemNode.attributes.pms;  
itemObj.name = itemNode.attributes.name;  
itemObj.label = itemNode.attributes.name;  
itemObj.id = itemNode.attributes.id;  
//  
itemArray.push(itemObj);  
sortArrays();  
gotoAndPlay(“refresh”);  
// ------------------------------+  
// END FIX ‘THE ONE ITEM BUG’ |  
// ------------------------------+  
}else{  
for (music in myData.mycompany.info.item) {  
myItem = new Object();  
myItem.spotlight = myData.mycompany.info.item[music][“spotlight”];  
myItem.cartHead = myData.mycompany.info.item[music][“cartHead”];  
myItem.trackTxt = myData.mycompany.info.item[music][“trackTxt”];  
myItem.trackHead = myData.mycompany.info.item[music][“trackHead”];  
myItem.path = myData.mycompany.info.item[music][“path”];  
myItem.pms = myData.mycompany.info.item[music][“pms”];  
myItem.name = myItem.label=myData.mycompany.info.item[music][“name”];  
myItem.id = myItem.data=Number(myData.mycompany.info.item[music][“id”]);  
itemArray.push(myItem);  
}  
}  
}  
}

my old XML

\<?xml version=“1.0”?\>  
\<mycompany\>  
\<info\>  
\<!-- ITEM 0 HTML (Before Escaping) --\>  
\<!-- \<p\>Four Comics, \<b\>Dr. Ken Jeong, Greg Hahn, Kyle Cease\</b\> and \<b\>Loni Love\</b\> riff on the absurdities of working life, including the job interview, cubicles and giving your friends as references.\</p\>\<br\>\<p\>\<font size=‘11’\>\<b\>Venue:\</b\> At the Irvine Improv \<b\>Length:\</b\> 3:00\</font\>\</p\> --\>  
\<item id=“0” name=“Acura” pms=“1146098” path="" trackHead=“Acura Models” trackTxt="\<p\>\</p\>\<p\>\<img src=‘bullet.swf’\>\<a href=‘javascript:changeId(“1217283”);’\>Acura TL Consumer Reports\</a\>\<br\>\<img src=‘bullet.swf’\>\<a href=‘javascript:changeId(“1146097”);’\>Acura \</a\>\<br\>" spotlight="\<p\>\<img src=‘ad1.jpg’\>\</p\>" cartHead=“This is @#$%%^$$$” /\>  
\<item id=“1” name=“Aston Martin” pms=“1146097” trackHead=“Aston Martin Models” trackTxt="" spotlight="\<p\>\<img src=‘ad2.jpg’\>\</p\>" cartHead=“This is @#$%%^$$$” /\>  
\<item id=“2” name=“Audi” pms=“1146096” trackHead=“Audi Models” trackTxt="\<p\>\</p\>\<p\>\<img src=‘bullet.swf’\>\<a href=’[[color=#0000ff]http://www.mycompany.com[/color]](http://www.mycompany.com/)’\>2004 Audi A8\</a\>" spotlight="\<p\>\<img src=‘ad3.jpg’\>\</p\>" cartHead=“This is @#$%%^$$$” /\>  
\<item id=“3” name=“Bentley” pms=“1146095” trackHead=“Bentley Models” trackTxt="" spotlight=“Sell stuff here about track 3” cartHead=“This is @#$%%^$$$” /\>  
\<item id=“4” name=“BMW” pms=“1217285” trackHead=“BMW Models” trackTxt=“Everything but the girl” spotlight=“Sell stuff here about track 4” cartHead=“This is @#$%%^$$$” /\>  
\<item id=“5” name=“Buick” pms=“1217283” path="" trackHead=“Buick Models” trackTxt=“I fixed it.” spotlight=“newtrack” cartHead=“This is @#$%%^$$$” /\>  
\</info\>  
\</mycompany\>

my new XML

\<?xml version=“1.0” encoding=“UTF-8”?\>  
\<mycompany\>  
\<info\>  
\<item id=“0” name=“Acura” trackHead=“NOW PLAYING” \>  
\<subitem trackTxt=“Acura TL Consumer Reports” pms=“1146098” ad=“ad1.jpg”/\>  
\</item\>  
\<item id=“1” name=“Aston Martin” trackHead=“NOW PLAYING”\>  
\<subitem trackTxt=“Aston Martin” pms=“1146098” ad=“ad2.jpg”/\>  
\</item\>  
\<item id=“2” name=“Audi” trackHead=“NOW PLAYING” ad=“ad3.jpg” pms=“1146098”\>  
\<subitem trackTxt=“2004 Audi A8” pms=“1146098” ad=“ad3.jpg”/\>  
\</item\>  
\<item id=“3” name=“Bentley” trackHead=“NOW PLAYING” ad=“ad4.jpg” pms=“1146098”\>  
\<subitem trackTxt=“Bentley” pms=“1146098” ad=“ad3.jpg”/\>  
\</item\>  
\<item id=“4” name=“BMW” trackHead=“NOW PLAYING” ad=“ad5.jpg” pms=“1146098”\>  
\<subitem trackTxt=“BMW 750hl” pms=“1146098” ad=“ad3.jpg”/\>  
\<subitem trackTxt=“2004 BMW X3” pms=“1146098” ad=“ad3.jpg”/\>  
\<subitem trackTxt=“2004 BMW 645 Ci” pms=“1146098” ad=“ad3.jpg”\>  
\<subitem trackTxt=“2004 BMW 645 Ci (Consumer Review) Coupe styling” pms=“1146098” ad=“ad3.jpg”/\>  
\<subitem trackTxt=“2004 BMW 645 Ci (Consumer Review) Convertible styling” pms=“1146098” ad=“ad3.jpg”/\>  
\</subitem\>  
\</item\>  
\<item id=“5” name=“Buick” trackHead=“NOW PLAYING” ad=“ad6.jpg” pms=“1146098”\>  
\<subitem trackTxt=“Buick Bengal Concept, autoshow, convertible” pms=“1146098” ad=“ad3.jpg”/\>  
\<subitem trackTxt=“2004 Buick Rainier” pms=“1146098” ad=“ad3.jpg”/\>  
\</item\>  
\</info\>  
\</mycompany\>
