`
yangguoklose
  • 浏览: 20612 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Flex读取外部XML文件的四种方法

    博客分类:
  • flex
阅读更多
引用
本文向大家介绍一下Flex读取外部XML文件的几种方法,因为Flex支持强大的E4X功能,所以在flex中xml文件的操作非常简单。

本文和大家重点讨论一下Flex读取外部XML文件的几种方法,因为Flex支持强大的E4X功能,所以在flex中xml文件的操作非常简单。下面总结一下常用的读取XML配置文件的方法,希望对你有所帮助。

Flex读取外部XML文件的几种方法

因为Flex支持强大的E4X功能,所以在flex中xml文件的操作非常简单。下面,总结一下常用的读取XML配置文件的方法:

1使用Model标签形式

首先声明Model标签:

<mx:Modelidmx:Modelid="danxuan"source="myData/danxuan.xml"/> 
 
<mx:DataGriddataProvidermx:DataGriddataProvider="{danxuan.ti}"> 
 
</mx:DataGrid> 



2使用XML标签形式

<mx:XMLidmx:XMLid="danxuan"source="myData/danxuan.xml"/> 
 
<mx:DataGriddataProvidermx:DataGriddataProvider="{danxuan.ti}"> 



3使用HttpService


<mx:HTTPServiceidmx:HTTPServiceid="danxuan"url="myData/danxuan.xml"  
 
result="resultHandler(event)"/> 
 
privatefunctionresultHandler(event:ResultEvent):void  
 
{  
vardp:ArrayCollection=event.resultasArrayCollection;  
}  



同时,在标签Application的createComplete事件中添加danxuan.send();语句(其中“danxuan”是mx:HTTPService的id)调用Http请求。

即:<mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"createComplete="danxuan.send();">


4使用URLLoader

有的时候我们希望用xml作为配置文件来动态配置我们的系统。虽然flexSDK提供了一个只能用在在mxml文件中<xml/>、<model/>标签,这些标签的source属性可以读取外部的xml文件,但是这样的方式会使xml文件嵌入到生成的swf文件中。这样做的结果就是发布后即使修改了xml的内容对程序也没有影响。这样做没有达到使用外部xml文件的目的。要想实现动态读取xml文件需要使用到URLLoader这个类,这个类位于flash.net包中。

一、创建URLRequest对象

要想使用URLLoader读取外部的xml,必须调用URLLoader的load()函数。这个函数有一个参数就是URLRequest,所以必须先创建一个URLRequest对象。

varurl:URLRequest=newURLRequest("myData/danxuan.xml");


其中URLRequest的参数必须是一个有效的url。

二、读取外部xml

1.创建URLLoader对象。

varloader:URLLoader=newURLLoader();


2.为新创建的对象注册事件监听,我们需要监听的是Event.COMPLETE事件,这个事件代表读取xml文件完成。

loader.addEventListener(Event.COMPLETE,onComplete);


onComplete是Event.COMPLETE事件的处理函数,当发生Event.COMPLETE事件的时候会调用这个函数。

3.调用load函数

loader.load(url);


参数url就是前面创建的URLRequest对象。

三、事件处理函数onComplete

函数的完整定义是这个样子的:

privatefunctiononComplete(event:Event):void{}


面已经把这个函数注册给URLLoader对象的Event.COMPLETE事件了。当发生Event.COMPLETE事件时,这个函数就会被调用。接下来的问题就是怎么得到取到的xml数据了。

首先把onComplete函数的参数event的target属性转换成URLLoader对象

varresult:URLLoader=URLLoader(event.target);


然后再把这个对象的data属性转换成xml对象

datas=XML(result.data);


这样就可以把danxuan.xml的内容读取到了datas中了。

使用这种方式可以动态的读取xml文件。取到的内容可以动态配置程序,提供动态的数据源。至于具体怎样应用就看自己的需求了。

varurlLoader:URLLoader=newURLLoader();  
urlLoader.addEventListener(Event.COMPLETE,handleURLLoaderCompleted);  
urlLoader.load(newURLRequest("myData/duanxuan.xml"));  
 
privatefunctionhandleURLLoaderCompleted(event:Event):void  
 
{  
varloader:URLLoader=event.targetasURLLoader;  
xml=XML(loader.data);  
}  
</mx:DataGrid> 
分享到:
评论

相关推荐

    flex外部读取xml

    本示例中,我们看到一个Flex应用通过使用ActionScript 3来从外部XML文件加载数据,并将这些数据用于创建图形界面元素。 首先,XML文件的结构对于正确解析至关重要。在示例中没有给出具体的XML文件内容,但我们可以...

    as3.0读取外部xml

    as3.0读取外部xml,使用与flex flash as3.0

    Flex处理 xml方法及实例

    Flex中的E4X,全称为ECMAScript for XML,是一种在ActionScript 3.0中处理XML的强大方式。...无论是从外部数据源加载XML,还是在应用内部创建和操作XML,E4X都为ActionScript 3.0的XML处理带来了一种革命性的新方法。

    flex 操作xml 实现增删改查

    #### 三、读取外部XML文件 除了直接创建XML对象之外,通常还需要从外部文件加载XML数据。这可以通过Flex的网络请求API实现,具体步骤如下: 1. **导入必要的包**: ```actionscript import flash.events.Event; ...

    Foundation XML and E4X for Flash and Flex

    同时,ActionScript 3.0引入了新的类和框架来支持外部文档的处理,这些变化基于E4X(ECMAScript for XML)标准。 - **XML和XMLList类**:这两个新类为处理XML数据提供了更高效的方法。例如,`XML`类可以用来解析XML...

    flex3 接受外部参数

    Flex应用程序可以读取XML配置文件(如services-config.xml或flex-config.xml)中的参数,这些参数在编译时或运行时可以被设置。 了解了这些方法后,我们还需要关注如何在Flex 3应用中处理这些参数。通常,我们会...

    AS3.0读取xml外调图片并滚动

    在本文中,我们将深入探讨如何在AS3.0(ActionScript 3.0)中使用XML来读取外部图片,并实现图片的滚动展示。ActionScript是Adobe Flash Professional和Flex Builder等开发工具中用于创建交互式内容的主要编程语言,...

    flex获得html容器传递的url参数值

    在Flex编程中,有时我们需要从外部HTML容器向SWF文件传递参数,这在构建富互联网应用程序(RIA)时尤其常见。这些参数通常是以URL查询字符串的形式出现,例如`test.html?name=jex&address=chengdu`。在本文中,我们...

    Flex3DShow

    XML数据解析是Flex3DShow中的一个重要组成部分,它允许程序从外部XML文件中读取图片数据。XML是一种轻量级的、易于理解和操作的数据格式,常用于存储和传递结构化数据。在这款程序中,XML文件可能包含了图片的URL、...

    纯flex网站前台(httpservice、webservice进行数据交互)

    Flex是一种基于Adobe Flash技术的开发框架,用于构建富互联网应用程序(RIA)。在“纯flex网站前台(httpservice、webservice进行数据交互)”这个项目中,我们主要关注的是如何使用Flex来实现与服务器端的数据通信...

    关于XML在FLASH中的应用

    Flash应用程序可以通过ActionScript来读取、解析和写入XML文件,从而实现动态内容的加载和更新。ActionScript是Flash编程的核心语言,它提供了内置的XML类,允许开发者轻松地处理XML文档。 1. XML与Flash的数据交互...

    Flex做的关灯游戏

    接着,我们需要读取外部XML文件来获取关卡配置。Flex提供了强大的XML处理功能,通过XML()函数可以直接将字符串转换为XML对象,或者使用URLLoader类加载远程XML文件。XML文件的结构可以设计为如下: ```xml |...

    FLEX上传下载的FLEX项目源码.docx

    同时,配置struts-config.xml文件以处理相关请求。页面展示部分,如file-upload.jsp和file-list.jsp,用于用户交互和文件列表展示。 **工程结构** 项目的资源组织通常遵循SSH的标准结构,包括数据持久层的实体类和...

    Rss.zip_flex

    通过使用`XML`类和`XMLList`类,我们可以读取RSS feed的结构并提取所需信息。 2. **数据绑定**:Flex的数据绑定机制允许我们轻松地将XML数据绑定到UI组件上,从而实时更新用户界面。 3. **组件库**:Flex提供了...

    Flex 不需要服务器支持 导入 导出

    如果是XML文件,可以使用XMLDocument类解析。 2. **Flex中的数据导出**: - **数据格式化**:在导出数据之前,需要将应用程序内部的数据格式化为适合导出的格式,如XML、JSON或CSV。 - **FileReference的save()...

    flex瘦身优化之我见(内部资料)

    这些文件会在用户首次加载SWF时被下载并缓存到客户端,之后的加载将直接从本地缓存读取,提高了加载速度。 - 在项目属性中调整"Flex Build Path"的"Library Path",选择"runtime shared library (RSL)"。 - 编译...

    flex快速入门“flex3_quickstart”

    MXML(Flex Markup Language)是一种基于XML的语言,专门用于构建Adobe Flex应用程序的用户界面。它允许开发者以声明式的方式定义组件,设置其属性和行为,同时也能处理数据绑定和事件处理。例如,创建一个按钮实例...

    ArcGIS Viewer for Flex的配置及定制

    - **启动阶段**:读取`index.swf`文件,初始化配置文件`config.xml`。 - **加载地图服务**:根据配置文件加载地图服务和其他数据源。 - **加载Widgets**:加载并初始化界面中的各个Widget。 - **运行阶段**:完成...

    Flex中文帮助

    6. **数据管理**:组件可以与各种数据源连接,包括数组、数据模型和外部XML数据。 ### Flex应用程序的编译和发布 所有Flex应用程序的元素都被编译或链接到一个SWF文件中,这个文件可以在Flash Player中运行。编译...

Global site tag (gtag.js) - Google Analytics