Как получить 3 узла с помощью AS3 и E4X?

Я пишу класс в Main.as, который выполняет urlRequest и возвращает результат. Мне нужно 3 узла: minTemp, maxTemp и 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. Как бы мне это прояснить?


person SidC    schedule 26.04.2011    source источник


Ответы (1)


Вы не определили функцию 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);
        }
    }
person Björn Kechel    schedule 26.04.2011
comment
@SidC, этот ответ исправит ваши ошибки. Если вам также нужна помощь с синтаксическим анализом вашего XML, покажите, пожалуйста. - person Timofei Davydik; 26.04.2011
comment
@SidC trace (resultXML.minTemp); трассировка (resultXML.maxTemp); трассировка (resultXML.Icon); - person George Profenza; 26.04.2011
comment
Спасибо всем. Мои синтаксические ошибки устранены. Когда я отлаживаю фильм, я получаю сообщение «Невозможно отобразить исходный код в этом месте». Сначала я добавил три оператора трассировки @George Profenza, ту же ошибку, а затем закомментировал их. Идеи? - person SidC; 26.04.2011