XML onLoad problem

Hi folks,

I’ve been banging my head for a while on this one, and figured I’d see if any of you experts have ever encountered this problem. I have a working flash app that’s a map with houses on it. The houses have properties associated with them that are loaded in via an XML file, such as description, address, and color.

Like I said, it’s currently working, but when I try and add a new global variable, or trace anything but a simple integer, the XML onLoad function never executes. See my example below:


_global.isloaded = false;
_global.RealEstateXML = new XML();
_global.LotArray = new Array();
//Trying to add a new global, _global.bob:String = "bob"; here will stop the onLoad from executing.

if( _global.isloaded == false )
{
    loadRealEstateXML( "restprop.xml" );
}


function loadRealEstateXML( filename:String ):Void
{
    _global.RealEstateXML.ignoreWhite = true;
    _global.RealEstateXML.load( filename );
    _global.RealEstateXML.onLoad = function( success:Boolean ):Void
    {
        if( success )
        {
            var RootNode:XMLNode = _global.RealEstateXML.childNodes[0];
            
            var numDevs = RootNode.childNodes.length - 2;
            
            //tracing anything but a simple integer ( i.e., trace( 6 ); ) here will stop the onLoad from executing.
            
            for( var iDev:Number = 0; iDev < numDevs; iDev++ )
            {
                for( var iProp:Number = 2; iProp < RootNode.childNodes[iDev].childNodes.length; iProp++ )
                {
                    tempArray = new Array();
                    tempArray["color"] = String( RootNode.childNodes[iDev].childNodes[iProp].childNodes[6].firstChild.nodeValue );
                    tempArray["desc"] = String( RootNode.childNodes[iDev].childNodes[iProp].childNodes[7].firstChild.nodeValue );
                    tempArray["number"] = String( RootNode.childNodes[iDev].childNodes[iProp].childNodes[2].firstChild.nodeValue );
                    tempArray["road"] = String( RootNode.childNodes[iDev].childNodes[iProp].childNodes[4].firstChild.nodeValue );
                    tempArray["status"] = String( RootNode.childNodes[iDev].childNodes[iProp].childNodes[5].firstChild.nodeValue );
                    tempArray["size"] = String( RootNode.childNodes[iDev].childNodes[iProp].childNodes[3].firstChild.nodeValue );
                    tempArray["neighborhood"] = String( RootNode.childNodes[iDev].childNodes[1].firstChild.nodeValue );
                    
                    _global.LotArray[ String(tempArray["number"]) ] = tempArray;
                }
            }
            
        }
        else
        {
            //tracing anything but a simple integer or declaring a new variable here will stop the onLoad from executing.
        }
        _global.isloaded = true;
    }
}

As you can see in the comments, for some reason, this code is working as-is, but as soon as I now try and add any features to it, the onLoad ceases to execute. I have NO idea where I went wrong, or WHY some things break it but others don’t. I’m new at this, so bear with me. This could seriously be something simple that you all take for granted that I just don’t know about yet. Anyone have any ideas?

Thanks guys!