flex AS3 анализирует несколько XML-каналов - PullRequest
0 голосов
/ 19 января 2011

Я использую URLLoader для разбора XML-фидов в моем проекте flex, проблема в том, чтобы найти / найти загруженный фид в Evevent.COMPLETE, я не знаю, как передать id, переменную или тег объекта через URLloader.При загрузке изображений это решается с помощью свойства name в Loader, но Loader не работает для XML, вы можете мне помочь?

private function readXmlFeed():void {                                   
            XML.ignoreWhitespace = true;
            var xmlLoader:URLLoader = new URLLoader();                  
            xmlLoader.addEventListener(Event.COMPLETE, parseFeedXMLComplete);           
            xmlLoader.load(new URLRequest(url));                            
        }

 private function parseFeedXMLComplete(e:Event):void {              
            var feed:XML = new XML(e.target.data);

            switch (e.target.name) {
                case "feed1":
                     break;
                case "feed2":
                     break;
            }

        }

1 Ответ

1 голос
/ 19 января 2011

Вы можете расширить URLLoader:

package {
  import flash.net.URLLoader;
  import flash.net.URLRequest;
  public class FooURLLoader extends URLLoader {
    public var id : String;
    public function FooURLLoader(id : String) {
      super(null);
      this.id = id;
    }
  }
}

Тогда:

private function readXmlFeed(id:String):void {                                   
  XML.ignoreWhitespace = true;
  var xmlLoader:URLLoader = new FooURLLoader(id);                  
  xmlLoader.addEventListener(Event.COMPLETE, parseFeedXMLComplete);           
  xmlLoader.load(new URLRequest(url));                            
}

private function parseFeedXMLComplete(e:Event):void {              
  var feed:XML = new XML(e.target.data);
  switch (e.target.id) {
    case "feed1":
      break;
    case "feed2";
      break;
  }
}
...