2016-10-13 00:16:48 点击量:8 标签: 收藏本文
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());
- }
- }
- }
- }
我们是一家提供综合软件外包与弱电工程服务的技术公司。
业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。
公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室