I suggest the following code :
var iCurrentNodeLoading:Number;
var intervalNextNode:Number;
var intervalReloadXML:Number;
var myxml:XML = new XML();
myxml.ignoreWhite = true;
myxml.onLoad = mx.utils.Delegate.create(this, onXMLLoadedEvent);
function onXMLLoadedEvent(success:Boolean):Void{
if (success) {
iCurrentNodeLoading = 0;
loadNextNode();
}
};
function loadNextNode() {
if (intervalNextNode != undefined) clearInterval(intervalNextNode);
var messages:XMLNode = myxml.firstChild;
if (iCurrentNodeLoading >= messages.childNodes.length) iCurrentNodeLoading = 0;
var my_message:XMLNode = messages.childNodes[iCurrentNodeLoading];
_root.status_1.htmlText = my_message.childNodes[0].firstChild.nodeValue;
_root.status_2.htmlText = my_message.childNodes[1].firstChild.nodeValue;
_root.status_3.htmlText = my_message.childNodes[2].firstChild.nodeValue;
_root.status_4.htmlText = my_message.childNodes[3].firstChild.nodeValue;
_root.status_5.htmlText = my_message.childNodes[4].firstChild.nodeValue;
_root.status_6.htmlText = my_message.childNodes[5].firstChild.nodeValue;
iCurrentNodeLoading++;
intervalNextNode = setInterval(loadNextNode, 3000);
}
function reloadXML(){
if (intervalReloadXML != undefined) clearInterval(intervalReloadXML);
myxml.load("data.xml");
intervalNextNode = setInterval(reloadXML, 20000);
}
reloadXML();