Flash 如何使用AS3和E4X获得3个节点?
我正在Main.as中编写一个类,它发出一个urlRequest并返回结果。我需要3个节点,minTemp、maxtem和Icon。我正在请求一个城市,因此这些节点应该只出现一次。如何构造AS3以获取这些节点及其值Flash 如何使用AS3和E4X获得3个节点?,flash,actionscript-3,e4x,Flash,Actionscript 3,E4x,我正在Main.as中编写一个类,它发出一个urlRequest并返回结果。我需要3个节点,minTemp、maxtem和Icon。我正在请求一个城市,因此这些节点应该只出现一次。如何构造AS3以获取这些节点及其值 public class Main extends MovieClip { public function Main() { var urlRequest:URLRequest=new URLRequest("http://myurl"); var
public class Main extends MovieClip {
public function Main() {
var urlRequest:URLRequest=new URLRequest("http://myurl");
var urlLoader:URLLoader=new URLLoader();
var result:XmlDocument=new XMLDocument();
urlLoader.addEventListener(Event.COMPLETE, parseXML);
urlLoader.load(urlRequest);
result.ignorWhite=true;
result.parseXML(getXMLString());
}
}
我得到了以下错误:找不到1046 XmlDocument类型,1120次访问未定义的属性parseXML,1180次调用可能未定义的方法getXMLString。我该如何清除它们呢?您没有定义函数parseXMl,结果也没有创建,这种方法应该可以工作:
public class Main extends MovieClip {
public function Main() {
var urlRequest : URLRequest = new URLRequest("http://myurl");
var urlLoader : URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, onXmlLoaded);
urlLoader.load(urlRequest);
}
private function onXmlLoaded(event : Event) : void
{
XML.ignoreWhitespace= true;
var urlLoader : URLLoader = event.currentTarget as URLLoader;
var resultXML : XML = XML(urlLoader.data);
trace(resultXML);
}
}
您没有定义函数parseXMl,也没有创建结果,这种方法应该可以工作:
public class Main extends MovieClip {
public function Main() {
var urlRequest : URLRequest = new URLRequest("http://myurl");
var urlLoader : URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, onXmlLoaded);
urlLoader.load(urlRequest);
}
private function onXmlLoaded(event : Event) : void
{
XML.ignoreWhitespace= true;
var urlLoader : URLLoader = event.currentTarget as URLLoader;
var resultXML : XML = XML(urlLoader.data);
trace(resultXML);
}
}
@SidC此答案将修复您的错误。如果您还需要解析XML方面的帮助,请显示出来。@SidC trace(resultXML.minTemp);跟踪(resultXML.maxTemp);跟踪(resultXML.Icon);谢谢大家。我的语法错误已解决。当我调试电影时,我收到“无法在此位置显示源代码”。我最初添加了@George Profenza的三条跟踪语句,同样的错误,然后将它们注释掉。想法?@SidC这个答案会纠正你的错误。如果您还需要解析XML方面的帮助,请显示出来。@SidC trace(resultXML.minTemp);跟踪(resultXML.maxTemp);跟踪(resultXML.Icon);谢谢大家。我的语法错误已解决。当我调试电影时,我收到“无法在此位置显示源代码”。我最初添加了@George Profenza的三条跟踪语句,同样的错误,然后将它们注释掉。思想?