自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Flex讀取外部XML文件的四種方法

開發(fā) 后端
本文向大家介紹一下Flex讀取外部XML文件的幾種方法,因為Flex支持強大的E4X功能,所以在flex中xml文件的操作非常簡單。

本文和大家重點討論一下Flex讀取外部XML文件的幾種方法,因為Flex支持強大的E4X功能,所以在flex中xml文件的操作非常簡單。下面總結一下常用的讀取XML配置文件的方法,希望對你有所幫助。

Flex讀取外部XML文件的幾種方法

因為Flex支持強大的E4X功能,所以在flex中xml文件的操作非常簡單。下面,總結一下常用的讀取XML配置文件的方法:

1使用Model標簽形式

首先聲明Model標簽:

  1. <mx:Modelidmx:Modelid="danxuan"source="myData/danxuan.xml"/> 
  2.  
  3. <mx:DataGriddataProvidermx:DataGriddataProvider="{danxuan.ti}"> 
  4.  
  5. </mx:DataGrid> 
  6.  

 
2使用XML標簽形式

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

 
3使用HttpService
 

  1. <mx:HTTPServiceidmx:HTTPServiceid="danxuan"url="myData/danxuan.xml"  
  2.  
  3. result="resultHandler(event)"/> 
  4.  
  5. privatefunctionresultHandler(event:ResultEvent):void  
  6.  
  7. {  
  8. vardp:ArrayCollection=event.resultasArrayCollection;  
  9. }  
  10.  

 
同時,在標簽Application的createComplete事件中添加danxuan.send();語句(其中“danxuan”是mx:HTTPService的id)調用Http請求。

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


4使用URLLoader

有的時候我們希望用xml作為配置文件來動態(tài)配置我們的系統。雖然flexSDK提供了一個只能用在在mxml文件中<xml/>、<model/>標簽,這些標簽的source屬性可以讀取外部的xml文件,但是這樣的方式會使xml文件嵌入到生成的swf文件中。這樣做的結果就是發(fā)布后即使修改了xml的內容對程序也沒有影響。這樣做沒有達到使用外部xml文件的目的。要想實現動態(tài)讀取xml文件需要使用到URLLoader這個類,這個類位于flash.net包中。

一、創(chuàng)建URLRequest對象

要想使用URLLoader讀取外部的xml,必須調用URLLoader的load()函數。這個函數有一個參數就是URLRequest,所以必須先創(chuàng)建一個URLRequest對象。

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

其中URLRequest的參數必須是一個有效的url。

二、讀取外部xml

1.創(chuàng)建URLLoader對象。

varloader:URLLoader=newURLLoader();

2.為新創(chuàng)建的對象注冊事件監(jiān)聽,我們需要監(jiān)聽的是Event.COMPLETE事件,這個事件代表讀取xml文件完成。

loader.addEventListener(Event.COMPLETE,onComplete);

onComplete是Event.COMPLETE事件的處理函數,當發(fā)生Event.COMPLETE事件的時候會調用這個函數。

3.調用load函數

loader.load(url);

參數url就是前面創(chuàng)建的URLRequest對象。

三、事件處理函數onComplete

函數的完整定義是這個樣子的:

privatefunctiononComplete(event:Event):void{}

面已經把這個函數注冊給URLLoader對象的Event.COMPLETE事件了。當發(fā)生Event.COMPLETE事件時,這個函數就會被調用。接下來的問題就是怎么得到取到的xml數據了。

首先把onComplete函數的參數event的target屬性轉換成URLLoader對象

varresult:URLLoader=URLLoader(event.target);

然后再把這個對象的data屬性轉換成xml對象

datas=XML(result.data);

這樣就可以把danxuan.xml的內容讀取到了datas中了。

使用這種方式可以動態(tài)的讀取xml文件。取到的內容可以動態(tài)配置程序,提供動態(tài)的數據源。至于具體怎樣應用就看自己的需求了。

 

  1. varurlLoader:URLLoader=newURLLoader();  
  2. urlLoader.addEventListener(Event.COMPLETE,handleURLLoaderCompleted);  
  3. urlLoader.load(newURLRequest("myData/duanxuan.xml"));  
  4.  
  5. privatefunctionhandleURLLoaderCompleted(event:Event):void  
  6.  
  7. {  
  8. varloader:URLLoader=event.targetasURLLoader;  
  9. xml=XML(loader.data);  
  10. }  
  11. </mx:DataGrid> 

【編輯推薦】

  1. 技術分享 如何進行Flex Spring整合
  2. Flex安全沙箱問題解決方法
  3. Flex及FlexBuilder2.0開發(fā)環(huán)境詳解
  4. FlexBuilder3.0與Eclipse3.4的完美結合
  5. Flex內存泄露解決方法和內存釋放優(yōu)化原則

 

 

責任編輯:佚名 來源: csdn.net
相關推薦

2011-06-22 15:21:08

XML

2009-03-31 13:12:30

解析XMLJava

2010-08-13 08:47:28

xml文件Flex

2014-03-17 09:22:43

Linux命令

2022-09-02 14:29:01

JavaScrip數組屬性

2010-08-06 14:28:55

Flex CSS樣式

2011-08-29 17:32:50

Ubuntu

2009-11-23 15:57:51

PHP偽靜態(tài)

2021-03-10 10:13:39

爬蟲Python代碼

2020-08-10 00:30:55

備份密碼iPhone移動安全

2009-02-25 09:52:14

類型轉換.NET 強制轉型

2010-07-28 13:54:42

Flex數據綁定

2010-08-05 13:44:12

Flex布局

2022-11-04 13:35:29

IT遠程工作混合工作

2022-12-07 10:28:22

2016-06-28 10:19:31

云計算云安全

2010-07-16 13:50:53

Perl哈希表

2009-09-17 16:55:58

C#組件設計

2020-01-21 19:15:23

漏洞安全IT

2010-03-18 17:57:37

Java XMLSoc
點贊
收藏

51CTO技術棧公眾號