Hi all. New to AS3, and just went through the great Kirupa tutorial on parsing XML using AS3 (thanks!). My trace output is fine, but when I try to send that parsed data to a text box, only the last XML node appears in the text box (named dynamicText_txt).
Here’s my XML:
[COLOR=#000096]<ts><verticals>
[/COLOR][INDENT][COLOR=#000096]<alarms>[/COLOR][/INDENT]
[INDENT=2][COLOR=#000096]<alarmQ1>[/COLOR]Is there an alarm?[COLOR=#000096]</alarmQ1>[/COLOR][/INDENT]
[INDENT=2][COLOR=#000096]<alarmQ2>[/COLOR]What component is the alarm on?[COLOR=#000096]</alarmQ2>[/COLOR][/INDENT]
[INDENT=2][COLOR=#000096]<alarmQ2[/COLOR][COLOR=#f5844c] alarm[/COLOR][COLOR=#ff8040]=[/COLOR][COLOR=#993300]"DCH"[/COLOR][COLOR=#000096]>[/COLOR]DCH [/INDENT]
[INDENT=3][COLOR=#000096]<alarmA2>[/COLOR]Alerts[COLOR=#000096]</alarmA2>[/COLOR][COLOR=#000096]</alarmQ2>[/COLOR][/INDENT]
[INDENT=2][COLOR=#000096]<alarmQ2[/COLOR][COLOR=#f5844c] alarm[/COLOR][COLOR=#ff8040]=[/COLOR][COLOR=#993300]"CID"[/COLOR][COLOR=#000096]>[/COLOR]CID[/INDENT]
[INDENT=3][COLOR=#000096]<alarmA2>[/COLOR]Alerts>[COLOR=#000096]</alarmA2><alarmA2>[/COLOR]Registration [COLOR=#000096]</alarmA2></alarmQ2>[/COLOR][/INDENT]
[INDENT=2][COLOR=#000096]<alarmQ2[/COLOR][COLOR=#f5844c] alarm[/COLOR][COLOR=#ff8040]=[/COLOR][COLOR=#993300]"HAD"[/COLOR][COLOR=#000096]>[/COLOR]HAD [/INDENT]
[INDENT=3]<[COLOR=#000096]alarmA2>[/COLOR]Alerts>[COLOR=#000096]</alarmA2><alarmA2>[/COLOR]Registration [COLOR=#000096]</alarmA2></alarmQ2>[/COLOR][/INDENT]
[INDENT=2][COLOR=#000096]<alarmQ2[/COLOR][COLOR=#f5844c] alarm[/COLOR][COLOR=#ff8040]=[/COLOR][COLOR=#993300]"CRH"[/COLOR][COLOR=#000096]>[/COLOR]CRH[/INDENT]
[INDENT=3][COLOR=#000096]<alarmA2>[/COLOR]Registration>[COLOR=#000096]</alarmA2></alarmQ2>[/COLOR][/INDENT]
[INDENT=2][COLOR=#000096]<alarmQ2[/COLOR][COLOR=#f5844c] alarm[/COLOR][COLOR=#ff8040]=[/COLOR][COLOR=#993300]"DFE"[/COLOR][COLOR=#000096]>[/COLOR]DFE[/INDENT]
[INDENT=3][COLOR=#000096]<alarmA2>[/COLOR]Registration>[COLOR=#000096]</alarmA2></alarmQ2>[/COLOR][/INDENT]
[INDENT][COLOR=#000096]</alarms>[/COLOR][/INDENT]
[COLOR=#000096]</verticals>
</ts>
[/COLOR]
[COLOR=#000096]
[/COLOR]Here’s my AS:
[COLOR=#000096][COLOR=#000096]import flash.text.TextField;
import flash.events.Event;
import flash.events.IOErrorEvent;import flash.net.URLLoader;
import flash.display.Sprite;
import flashx.textLayout.elements.TextFlow;
import flashx.textLayout.container.ContainerController;
import flashx.textLayout.conversion.TextConverter;
import flashx.textLayout.events.StatusChangeEvent;
import flash.net.URLRequest;
[COLOR=#000096]var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();
[/COLOR][COLOR=#000096]function loadXML(e:Event):void {[INDENT]xmlData = new XML(e.target.data);[/INDENT]
[INDENT]ParseFile(xmlData);[/INDENT]
}
[/COLOR][COLOR=#000096]function ParseFile(xmlInput:XML):void { [/COLOR][INDENT]trace("XML Output"); [/INDENT]
[INDENT][COLOR=#000096]trace("------------------------");[/COLOR][/INDENT]
[INDENT][COLOR=#000096][COLOR=#000096]var alarmsList:XMLList = xmlInput.verticals.alarms.alarmQ2;[/COLOR]
[/COLOR][/INDENT]
[INDENT][COLOR=#000096]for each (var alarmQ2Element:XML in alarmsList) {[/COLOR][/INDENT]
[INDENT=2][COLOR=#000096]trace(alarmQ2Element);[/COLOR][/INDENT]
[INDENT=2][COLOR=#000096]dynamicText_txt.text=alarmQ2Element.text();[/COLOR][/INDENT]
[INDENT][COLOR=#000096]}
[/COLOR][/INDENT]
[COLOR=#000096]}[/COLOR][/COLOR] [/COLOR]
The output reads:
XML Output
What component is the alarm on?
DCH
CID
HAD
CRH
DFE
But the text box displays:
DFE
Any ideas?
Thank you!
Miriam