您的位置:首页 > 编程语言

as3 解析xml 核心代码

2012-03-27 10:38 316 查看
private var bossInfors : Array = [];





readBossMessage("assets/ui/daily/activityBossInf.xml");









private function readBossMessage(textUrl : String):void

{

var loader : URLLoader = new SafeURLLoader();

loader.dataFormat = URLLoaderDataFormat.TEXT;

loader.addEventListener(Event.COMPLETE,function (e:Event):void{

getBossInfo(e.target.data);



//读完之后的工作



});

var url : String = ApplicationConfig.ASSETS_PATH1 + textUrl; //常量

loader.load(new URLRequest(url));

}







private function getBossInfo(text:String):void{ //text 在断点可以看到读来的源数据

var xml:XML = new XML(text);

var list:XMLList = xml.child("boss");

for each(var node:XML in list){

var obj : Object = new Object();

obj.name = node["bossname"].toString(); //obj.name可以自己命名 ,后面bossname是节点名字

obj.x = node["x"].toString();

obj.y = node["y"].toString();

obj.map = node["map"].toString();

obj.id = node["bossId"].toString();

obj.time = node["refresh"].toString();

obj.level = node["level"].toString();

obj.continent = node["continent"].toString();

obj.mapname = node["mapname"].toString();

obj.amount = node["amount"].toString();

obj.defylevel = node["defylevel"].toString();

obj.reward = node["reward"].toString();

obj.mapname = buildBossLinkObject(obj);



bossInfors.push(obj);

}



}



private function buildBossLinkObject(source:Object):Object{ //节点中的节点

var object:Object = new Object();

object.id = 0;

object.name = source.mapname;

object.x = source.x;

object.y = source.y;

object.map = source.map;

return object;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: