# Cant retrieve data for some reason

**URL:** <https://forum.kirupa.com/t/cant-retrieve-data-for-some-reason/327538>\
**Category:** flash\
**Created:** [March 7, 2012, 11:18pm UTC](https://forum.kirupa.com/t/cant-retrieve-data-for-some-reason/327538 "2012-03-07T23:18:46Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![swizz182g](https://avatars.discourse-cdn.com/v4/letter/s/f4b2a3/32.png) [@swizz182g](https://forum.kirupa.com/u/swizz182g)\
**Post date:** [March 7, 2012, 11:18pm UTC](https://forum.kirupa.com/t/cant-retrieve-data-for-some-reason/327538/1 "2012-03-07T23:18:46Z")

</div>

I have an outside GameData Class

I call the constructor from a fla file but i cant get a hold of the GamaDataArray via the getGameData() Function it keeps saying that the GameDataArray is Empty, but if i trace within the class it works, when i go to the fla file it says its empty. Can somebody please tell me what i am missing, i know its something super small

Here it is

```auto
package
{
    import flash.display.MovieClip;
    import flash.events.Event;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.display.MovieClip;
    
    public class GameData extends MovieClip
    {
        private var xml:XML;
        
        private var rootnodeTag:String;
        private var awayteamTag:String;
        private var hometeamTag:String;
        private var gamedateTag:String;
        
        private var rootnode:String;
        private var awayteam:String;
        private var hometeam:String;
        private var gameday:String;
        private var gamemonth:String;
        private var gameyear:String;
        
        private var myRequest:URLRequest;
        private var myLoader:URLLoader;
        private var dateArray:Array = new Array();
        private var gdo:Object;
        private var GameDataArray:Array = new Array();
        
        
        
        public function GameData(xmlURL:String, gameDate:String, homeTeam:String, awayTeam:String, rootNode:String)
        {
            this.rootnodeTag = rootNode;
            this.gamedateTag = gameDate;
            this.hometeamTag = homeTeam;
            this.awayteamTag = awayTeam;
            loadXML(xmlURL);
        }
        
        
        /*Private Data Processing Functions*/
        private function loadXML(s:String)
        {
            myRequest = new URLRequest(s);
            myLoader = new URLLoader(myRequest);
            myLoader.addEventListener(Event.COMPLETE, xmlLoaded);
        }
        
        private function xmlLoaded(evt:Event)
        {
            xml = new XML(evt.target.data);
            
            for each(var item:XML in xml[rootnodeTag])
            {
                gdo = new Object();
                setHomeTeam(item[hometeamTag].toString());
                setAwayTeam(item[awayteamTag].toString());
                gameDateArray(item[gamedateTag].toString());
                gdo = {homeTeam:getHomeTeam(), awayTeam:getAwayTeam()};
                GameDataArray.push(gdo);
            }
        }
        
        public function getGameData():Array
        {
            return GameDataArray;
        }
        
        private function gameDateArray(s:String)
        {
            dateArray = s.split('/');
            setGameMonth(dateArray[0]);
            setGameDay(dateArray[1]);
            setGameYear(dateArray[2]);
        }
        
        
        /*Private Setter Functions*/
        private function setRootNode(s:String):void
        {
            this.rootnode = s;
        }
        
        private function setHomeTeam(s:String):void
        {
            this.hometeam = s;
        }
        
        private function setAwayTeam(s:String):void
        {
            this.awayteam = s;
        }
        
        private function setGameDay(s:String):void
        {
            this.gameday = s;
        }
        
        private function setGameMonth(s:String):void
        {
            this.gamemonth = s;
        }
        
        private function setGameYear(s:String):void
        {
            this.gameyear = s;
        }
        
        /*Public Getter Functions*/
        public function getRootNode():String
        {
            return rootnode;
        }
        
        public function getHomeTeam():String
        {
            return hometeam;
        }
        
        public function getAwayTeam():String
        {
            return awayteam
        }
        
        public function getGameDay():String
        {
            return gameday;
        }
        
        public function getGameMonth():String
        {
            return gamemonth;
        }
        
        public function getGameYear():String
        {
            return gameyear;
        }
        
    }
    
}

```

**Here is how i call the constructor from within the fla file**

```auto
var g:GameData = new GameData("games.xml", "gamedate", "homeTeam", "awayTeam", "tunein");
trace(g.getGameData());

```

**Also here is my XML Structure**

```auto
<data>

    <tunein>
        <gamedate>2/4/12</gamedate>
        <awayTeamrank>25</awayTeamrank>
        <awayTeam>Marimont</awayTeam>
        <homeTeamrank>12</homeTeamrank>
        <homeTeam>Knowles</homeTeam>
        <time>9</time>
    </tunein>

<tunein>
        <gamedate>2/6/12</gamedate>
        <awayTeamrank>3</awayTeamrank>
        <awayTeam>Bridge</awayTeam>
        <homeTeamrank>2</homeTeamrank>
        <homeTeam>Piscataway</homeTeam>
        <time>9</time>
    </tunein>

</data>

```
