AS3加载XML,小弟初学,跪求大哥大姐们帮忙,没积分了啊

我想写一个加载XML类,传入路径,后再用个方法获取加载到的数据,下面是代码:packageas3.xml{importflash.events.*;importflash... 我想写一个加载XML类,传入路径,后再用个方法获取加载到的数据,下面是代码:
package as3.xml{

import flash.events.*;
import flash.net.*;
import flash.system.*;

public class LoadXML extends EventDispatcher {

public var myXML:XML;
private var myRequst:URLRequest;
private var myLoader:URLLoader;

public function LoadXML(XML_URL:String) {
myRequst = new URLRequest(XML_URL);
myLoader = new URLLoader(myRequst);
myLoader.addEventListener(Event.COMPLETE, xmlLoaded);
}
private function xmlLoaded(evtObj:Event):void {
myXML = XML(myLoader.data);
//return myXML;
//trace("数据装载完成.");
//trace(myXML);
}
public function getXML():XML {
trace(myXML);
return myXML;
}
}
}

这里是调用代码:
private static function showMenu():void {
var xmlResult:LoadXML=new LoadXML("xml/config.xml");
//trace(xmlResult.getXML());
}
showMenu();

结果显示为:null,跪求帮忙,无比感谢
展开
 我来答
xjst_org
2011-02-22 · TA获得超过1291个赞
知道小有建树答主
回答量:625
采纳率:0%
帮助的人:652万
展开全部
代码是哪里捣鼓来的啊...

你myLoader是否该Load一下? xmlLoaded有被call 到过吗
更多追问追答
追问
好,我加了下Load 
xmlLoaded有被call 到,private function xmlLoaded(evtObj:Event):void { myXML = XML(myLoader.data); //return myXML; //trace("数据装载完成."); trace(myXML);//这句能把整个XML读出来 }
追答
那是否搞定了?

我觉得你写的这个Class不是 很好.
因为这个是基于Event的调用的, 而你下面的代码,
创建了实例, 你立即getXML(), 须知此时XML极有可能还没读取完, 你getxml自然为空.
明白否?

建议你取消这个类, 把这几行代码写在外面就好.
或者外面写一个Handler方法, 传给该实例.
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式