引用
本文向大家介绍一下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应用通过使用ActionScript 3来从外部XML文件加载数据,并将这些数据用于创建图形界面元素。 首先,XML文件的结构对于正确解析至关重要。在示例中没有给出具体的XML文件内容,但我们可以...
as3.0读取外部xml,使用与flex flash as3.0
Flex中的E4X,全称为ECMAScript for XML,是一种在ActionScript 3.0中处理XML的强大方式。...无论是从外部数据源加载XML,还是在应用内部创建和操作XML,E4X都为ActionScript 3.0的XML处理带来了一种革命性的新方法。
#### 三、读取外部XML文件 除了直接创建XML对象之外,通常还需要从外部文件加载XML数据。这可以通过Flex的网络请求API实现,具体步骤如下: 1. **导入必要的包**: ```actionscript import flash.events.Event; ...
同时,ActionScript 3.0引入了新的类和框架来支持外部文档的处理,这些变化基于E4X(ECMAScript for XML)标准。 - **XML和XMLList类**:这两个新类为处理XML数据提供了更高效的方法。例如,`XML`类可以用来解析XML...
Flex应用程序可以读取XML配置文件(如services-config.xml或flex-config.xml)中的参数,这些参数在编译时或运行时可以被设置。 了解了这些方法后,我们还需要关注如何在Flex 3应用中处理这些参数。通常,我们会...
在本文中,我们将深入探讨如何在AS3.0(ActionScript 3.0)中使用XML来读取外部图片,并实现图片的滚动展示。ActionScript是Adobe Flash Professional和Flex Builder等开发工具中用于创建交互式内容的主要编程语言,...
在Flex编程中,有时我们需要从外部HTML容器向SWF文件传递参数,这在构建富互联网应用程序(RIA)时尤其常见。这些参数通常是以URL查询字符串的形式出现,例如`test.html?name=jex&address=chengdu`。在本文中,我们...
XML数据解析是Flex3DShow中的一个重要组成部分,它允许程序从外部XML文件中读取图片数据。XML是一种轻量级的、易于理解和操作的数据格式,常用于存储和传递结构化数据。在这款程序中,XML文件可能包含了图片的URL、...
- **加载外部XML文档**: 介绍了如何使用XML类加载外部XML文件。 - **XML的元素、节点与属性**: 分析了XML文档的结构组成。 - **XMLList类**: 说明了如何使用XMLList类来读取XML数据。 7. **数据绑定** - **绑定...
Flex是一种基于Adobe Flash技术的开发框架,用于构建富互联网应用程序(RIA)。在“纯flex网站前台(httpservice、webservice进行数据交互)”这个项目中,我们主要关注的是如何使用Flex来实现与服务器端的数据通信...
Flash应用程序可以通过ActionScript来读取、解析和写入XML文件,从而实现动态内容的加载和更新。ActionScript是Flash编程的核心语言,它提供了内置的XML类,允许开发者轻松地处理XML文档。 1. XML与Flash的数据交互...
接着,我们需要读取外部XML文件来获取关卡配置。Flex提供了强大的XML处理功能,通过XML()函数可以直接将字符串转换为XML对象,或者使用URLLoader类加载远程XML文件。XML文件的结构可以设计为如下: ```xml |...
同时,配置struts-config.xml文件以处理相关请求。页面展示部分,如file-upload.jsp和file-list.jsp,用于用户交互和文件列表展示。 **工程结构** 项目的资源组织通常遵循SSH的标准结构,包括数据持久层的实体类和...
通过使用`XML`类和`XMLList`类,我们可以读取RSS feed的结构并提取所需信息。 2. **数据绑定**:Flex的数据绑定机制允许我们轻松地将XML数据绑定到UI组件上,从而实时更新用户界面。 3. **组件库**:Flex提供了...
如果是XML文件,可以使用XMLDocument类解析。 2. **Flex中的数据导出**: - **数据格式化**:在导出数据之前,需要将应用程序内部的数据格式化为适合导出的格式,如XML、JSON或CSV。 - **FileReference的save()...
这些文件会在用户首次加载SWF时被下载并缓存到客户端,之后的加载将直接从本地缓存读取,提高了加载速度。 - 在项目属性中调整"Flex Build Path"的"Library Path",选择"runtime shared library (RSL)"。 - 编译...
MXML(Flex Markup Language)是一种基于XML的语言,专门用于构建Adobe Flex应用程序的用户界面。它允许开发者以声明式的方式定义组件,设置其属性和行为,同时也能处理数据绑定和事件处理。例如,创建一个按钮实例...
- **启动阶段**:读取`index.swf`文件,初始化配置文件`config.xml`。 - **加载地图服务**:根据配置文件加载地图服务和其他数据源。 - **加载Widgets**:加载并初始化界面中的各个Widget。 - **运行阶段**:完成...
6. **数据管理**:组件可以与各种数据源连接,包括数组、数据模型和外部XML数据。 ### Flex应用程序的编译和发布 所有Flex应用程序的元素都被编译或链接到一个SWF文件中,这个文件可以在Flash Player中运行。编译...