[AS3]客户端使用flash从服务端读取动态生成的XML格式数据
BS结构下,客户端使用flash从服务端读取动态生成的XML格式数据,并将获取的数据进行解析和发送到界面显示。
BS结构下,客户端使用flash从服务端读取动态生成的XML格式数据,并将获取的数据进行解析和发送到界面显示。
- <root>
- <username uid="ceshi001″>
- <title>CuPlayer.com</title>
- <beginTime>2009-10-10</beginTime>
- <endTime>2009-10-01</endTime>
- <currentMoney>56456</currentMoney>
- <state>良好</state>
- <isMember>否</isMember>
- </username>
- <username uid="ceshi002″>
- <title>CuPlayer.net</title>
- <beginTime>2009-10-10</beginTime>
- <endTime>2009-10-01</endTime>
- <currentMoney>23</currentMoney>
- <state>良好</state>
- <isMember>否</isMember>
- </username>
- </root>
要求解析成单个user对象并使用Array保存,其中user对象包含XML中的数据的属性
主要代码:
- package {
- import flash.display.Sprite;
- import flash.events.*;
- import flash.net.URLLoader;
- import flash.net.URLRequest;
- import flash.xml.*;
- public class FlashXml extends Sprite
- {
- //UserInfo业务对象实例
- private var bui:BUserInfo = new BUserInfo() ;
- //XML缓存
- private var XmlData:XML;
- //用户列表
- private var userList:Array;
- //constructor
- public function FlashXml() {
- //加载XML
- loadXml();
- }
- /**
- *方法名:loadXml
- *功能:加载外部XML数据
- */
- private function loadXml():void{
- var loader:URLLoader = new URLLoader();
- //设置Loader的事件监听
- configureListeners(loader);
- //URL请求对象,从配置类中获取URL
- var request:URLRequest = new URLRequest(ApplicationConfig.RequestURL);
- try {
- loader.load(request);
- } catch (error:Error) {
- trace("加载XML错误.");
- }
- }
- /**
- *方法名:configureListeners
- *功能:设置对象的事件监听 CuPlayer.com
- */
- private function configureListeners(dispatcher:IEventDispatcher):void {
- //加载完成 CuPlayer.com
- dispatcher.addEventListener(Event.COMPLETE, completeHandler);
- //设置读取完成事件绑定
- dispatcher.addEventListener(Event.COMPLETE, completeHandler);
- //捕获安全错误和IO错误
- dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
- }
- /**
- *方法名:completeHandler
- *功能:XML数据加载完毕之后操作 CuPlayer.com
- */
- private function completeHandler(event:Event):void {
- var loader:URLLoader = URLLoader(event.target);
- this.XmlData = new XML(loader.data);
- userList = bui.GetUserInfoList(XmlData);
- this.XmlParse()
- }
- /**
- *方法名:securityErrorHandler
- *功能:Flash安全配置限制 CuPlayer.com
- */
- private function securityErrorHandler(event:SecurityErrorEvent):void {
- trace("SecurityError: " + event);
- }
- /**
- *方法名:ioErrorHandler
- *功能:IO错误 CuPlayer.com
- */
- private function ioErrorHandler(event:IOErrorEvent):void {
- trace("IOError: " + event);
- }
- /**
- *方法名:XmlParse
- *功能:解析XML的简单测试
- */
- private function XmlParse():void {
- //CuPlayer.com用户Array的遍历
- for each(var user:UserInfo in userList){
- trace(user.getUid());
- trace(user.getTitle());
- trace(user.getBeginTime());
- trace(user.getEndTime());
- trace(user.getCurrentMoney());
- trace(user.getState());
- trace(user.getIsMember());
- }
- }
- }
- }
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...