Why does the trace work, and the statement does not? (please see code comments)
import fl.controls.*;
var info_txt:TextArea = panel_mc.main_mc.info_txt;
var gallery_xml:XML;
var xmlReq:URLRequest = new URLRequest("dataevents.xml");
var xmlLoader:URLLoader = new URLLoader();
function xmlLoaded(event:Event):void
{
var query:XML;
var queryText:String = "";
gallery_xml = new XML(xmlLoader.data);
query = (gallery_xml..profile.(profilename == "Sebastian Homann")); // This gives error TypeError: Error #1034: Type Coercion failed: cannot convert XMLList@59dc27f1 to XML.
trace(gallery_xml..profile.(profilename == "Sebastian Homann")); /// This works
for each(var elements:XML in query.*)
{
if(elements.*.length() <= 1)
{
queryText += elements.name() + ": " + elements + "
";
}
else
{
for each(var info:XML in elements.*)
{
queryText += info.name() + ": " + info + "
";
}
}
}
queryText += "file: " + query.@file;
info_txt.htmlText = queryText;
}
xmlLoader.load(xmlReq);
xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
Full error:
TypeError: Error #1034: Type Coercion failed: cannot convert XMLList@59dc17f1 to XML.
at 06_Looping_XML_Final_fla::MainTimeline/xmlLoaded()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()