简体   繁体   English

flex AS3解析多个XML提要

[英]flex AS3 parsing multiple XML feeds

I'm using URLLoader to parse XML feeds in my flex project, problem is matching/detect loaded feed in Evevent.COMPLETE, I don't know how to pass id or variable or object tag through URLloader. 我正在使用URLLoader解析我的flex项目中的XML提要,问题是在Evevent.COMPLETE中匹配/检测已加载的提要,我不知道如何通过URLloader传递id或变量或对象标记。 When loading images this is solved by using name property in Loader, but Loader didn't work for XML, can you help me? 加载图像时,可以通过使用Loader中的name属性解决此问题,但是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;
            }

        }

You could extend URLLoader : 您可以扩展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;
    }
  }
}

Then : 然后 :

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;
  }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM