I am trying to read a XML file and display its content in a simple list component or at the console.
The problem is that the event listener is triggered in an infinite loop.
The code:
var myXML:XML;
var myLoader:URLLoader = new URLLoader();
myLoader.addEventListener(Event.COMPLETE, processXML);
myLoader.load(new URLRequest("/songs/songs.xml"));
function processXML(e:Event):void {
myXML = new XML(e.target.data);
trace(myXML.*);
}
The xml file:
<?xml version="1.0" encoding="utf-8"?>
<Songs>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
</Songs>
The output:
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
<Song>Kalimba.mp3</Song>
<Song>Sleep Away.mp3</Song>
....
Firstly, is this just on the timeline of the IDE? If so, do you need to add a
stop()?Secondly, you could remove the listener from the loader as soon as the
COMPLETEevent comes out.