Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 如何使用AS3和E4X获得3个节点?_Flash_Actionscript 3_E4x - Fatal编程技术网

Flash 如何使用AS3和E4X获得3个节点?

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

我正在Main.as中编写一个类,它发出一个urlRequest并返回结果。我需要3个节点,minTemp、maxtem和Icon。我正在请求一个城市,因此这些节点应该只出现一次。如何构造AS3以获取这些节点及其值

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的三条跟踪语句,同样的错误,然后将它们注释掉。思想?