flash AS3实现远程服务器xml数据读取解析

周日CG接到一位网路上的朋友的问题,要求用flash ActionScript实现从服务端读取动态生成的数据并且进行解析,输入到用户界面的小程序今天代码放上来与大家分享,实现过程很简单,供初学者学习,也希望老鸟指正。

要求:BS结构下,客户端使用flash从服务端读取动态生成的XML格式数据,并将获取的数据进行解析和发送到界面显示。

XML格式:

 代码如下 复制代码

<root>
 <username uid=”ceshi001″>
 <title>sdfsdf</title>
 <beginTime>2009-10-10</beginTime>
 <endTime>2009-10-01</endTime>
 <currentMoney>56456</currentMoney>
 <state>良好</state>
 <isMember>否 www.111cn.net</isMember>
 </username>
 <username uid=”www.111cn.net″>
 <title>dfgdfgdfg</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
    *功能:设置对象的事件监听
    */
    private function configureListeners(dispatcher:IEventDispatcher):void {
      //加载完成
      dispatcher.addEventListener(Event.COMPLETE, completeHandler);
      //设置读取完成事件绑定
      dispatcher.addEventListener(Event.COMPLETE, completeHandler);
      //捕获安全错误和IO错误
      dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
    }
 
    /**
    *方法名:completeHandler
    *功能:XML数据加载完毕之后操作
    */
    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安全配置限制
    */
    private function securityErrorHandler(event:SecurityErrorEvent):void {
      trace("SecurityError: " + event);
    }
 
    /**
    *方法名:ioErrorHandler
    *功能:IO错误
    */
    private function ioErrorHandler(event:IOErrorEvent):void {
      trace("IOError: " + event);
    }
 
    /**
    *方法名:XmlParse
    *功能:解析XML的简单测试
    */
    private function XmlParse():void {
      //用户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());
      }
    }
  }
}

代码说明UserInfo为包含user全部信息的实体类,BUserInfo则是
UserInfo实体的业务层基本业务类,其中包含返回所有用户列表的
GetUserInfoList()方法

时间: 2025-01-20 17:10:35

flash AS3实现远程服务器xml数据读取解析的相关文章

webservice返回xml数据读取 XML 数据时,超出最大字符串内容长度配额 (8192)。

问题描述 webservice返回xml数据读取 XML 数据时,超出最大字符串内容长度配额 (8192). webservice返回xml数据读取 XML 数据时,超出最大字符串内容长度配额 (8192).通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxStringContentLength 属性,可增加此配额 ,怎么解决?谢谢了 麻烦带具体的步骤代码 解决方案 读取 XML 数据时,超出最大字符串内容长度配额 (8192).读取 X

XML数据读取方式性能比较(一)

原文:XML数据读取方式性能比较(一) 几个月来,疑被SOA,一直在和XML操作打交道,SQL差不多又忘光了.现在已经知道,至少有四种常用人XML数据操作方式(好像Java差不多),不过还没有实际比较过这些方式各有哪些特点或优劣.正好看到网上也没有这方面的实验,偶来总结一下. 测试开始先读取XML源,用一个比较大的RSS文件链接,复制到项目bin/debug目录下. Stream xmlStream =new MemoryStream(File.ReadAllBytes(path));   一.

Flash AS3.0 爽快使用XML

xml ActionScript 3.0系列教程(3):Document Class特色为我们带来了什么? ActionScript 3.0系列教程(4):爽快使用XML 为什么放弃AS2.0选择AS3.0?如果只允许我说三个理由.那么AS3.0对XML的近乎完美的支持绝对是其中一个. 简单说说AS3.0中对于XML支持的不同吧: .AS2.0对XML的支持勉勉强强,将就着可以用.而AS3.0中对XML的支持是全方位的,极其强大和灵活的. AS2.0对XML的支持不是内建的(build-in),

C# XML数据读取

问题描述 如上图所示,如何用C#读取这个XML数据放在一个数组中呢?谢谢名位大神!这个数据在http://biz.finance.sina.com.cn/stock/flash_hq/kline_data.php?symbol=sz000050 解决方案 解决方案二:添加引用:usingSystem.Xml.Linq;定义price类:classprice{publicDateTimeDate{get;set;}publicdoubleOpen{get;set;}publicdoubleHigh

使用XPATH对XML数据进行解析

这一篇我总结一下,如何利用XPATH及相关技术对XML数据文档进行查询和处理 1. 首先还是来看一下范例数据 <?xml version="1.0" encoding="utf-8" ?> <Orders><!--所有订单--> <Order OrderID="1" OrderDate="2008-12-17"><!--一个订单--> <OrderItems&g

php获取通过http协议post提交过来xml数据及解析xml_php技巧

php 如何获取请求的xml数据,对方通过http协议post提交过来xml数据,php如何获取到这些数据呢? 复制代码 代码如下: <?php $xml_data ='<AATAvailReq1>'. '<Agency>'. '<Iata>1234567890</Iata>'. '<Agent>lgsoftwares</Agent>'. '<Password>mypassword</Password>'

ajax 读取服务器端xml数据并解析xml

<html> <head> <title>ajax读取数据到表格</title> </head> <body> <input type="button" value="显示数据" onclick="post()" /> <script type="text/网页特效"> function ajax_xmlhttp(){ //在ie中

ASP.NET中利用SQLXML WEB服务访问XML数据

asp.net|sql|web|web服务|xml|访问|数据      引言 使用SQLXML 的Web 服务从你的ASP.net应用程序中直接访问XML 数据       SQLXML 是扩展SQL 服务器现有的对检索和储存XML 数据的支持的一套附加的工具. 有了SQLXML 3.0,你现在就能使用SQL服务器展示Web 服务了.在SQLXML的Web 服务可以让用户执行存储过程,用户定义的功能,并且它们支持模板.       在这篇文章中,你将看出怎样展示一个作为Web 服务并构建一个简

由“Jasperreports 4.1.2升级到5.1.2对flex项目的解析”到AS3 带命名空间的XML的操作

项目中,对Jasperreports-4.1.2核心包进行了升级,发现,前端flex无法对Jasperreports的格式进行解析了~ iReport 4.1 设计的模版可以解析,而iReport 4.6 设计的模版就不行了~ 断点后,对比了从后台传过来的Jasperreports 的xml数据,发现存在差异 4.1.2包生成的xml数据jasperPrint标签为: <jasperPrint name="report13" pageWidth="842" p