Flex 讀取外 部XML檔案

2022-03-08 09:38:32 字數 2150 閱讀 7703

因為flex

支援強大的

e4x功能,所以

在flex中xml文 件的操作非常簡單

。下面,總結一下常用的讀取xml配 置檔案的方法:

1 使用model標籤形式

首先宣告model標籤:

2 使用xml標籤形式

3 使用httpservice

result="resulthandler(event)"/>

private function resulthandler(event:resultevent):void

4 使用urlloader

有的時候我們希望用

xml作為配置檔案來動態配置我們的系統。雖然

flexsdk

提供了乙個只能用在在

mxml

檔案中、

標籤,這些標籤的

source

屬性可以讀取外部的

xml檔案,但是這樣的方式會使

xml檔案嵌入到生成的

swf檔案中。這樣做的結果就是發布後即使修改了

xml的內容對程式也沒有影響。這樣做沒有達到使用外部

xml檔案的目的。要想實現動態讀取

xml檔案需要使用到

urlloader

這個類,這個類位於

flash.net

包中。一、建立

urlrequest

物件要想使用urlloader讀 取外部的xml,必須呼叫urlloader的load()函式。這個函式有乙個引數就是urlrequest, 所以必須先建立乙個urlrequest物件。

var url:urlrequest = new urlrequest("mydata/danxuan.xml");

其中urlrequest 的引數必須是乙個有效的url。

二、讀取外部

xml1

.建立urlloader對 象。

var loader:urlloader = new urlloader(); 2

.為新建立的物件註冊事件監聽,我們需要監聽的是event.complete事件,這個事件代表讀取xml文 件完成。

loader.addeventlistener(event.complete,oncomplete);

oncomplete

是event.complete事 件的處理函式,當發生event.complete事件的時候會呼叫這個函式。

3.呼叫load函 數

loader.load(url);

引數url就是前面建立的urlrequest物件。

三、事件處理函式

oncomplete

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

private function oncomplete(event:event):void{}

面已經把這個函式註冊給urlloader對 象的event.complete事件了。當發生event.complete事 件時,這個函式就會被呼叫。接下來的問題就是怎麼得到取到的xml資料了。

首先把oncomplete函 數的引數event的target屬性轉換 成urlloader物件

var result:urlloader = urlloader(event.target);

然後再把這個物件的data屬 性轉換成xml物件

datas = xml(result.data);

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

使用這種方式可以動態的讀取

xml檔案。取到的內容可以動態配置程式,提供動態的資料來源。至於具體怎樣應用就看自己的需求了。

var urlloader:urlloader = new urlloader();

urlloader.addeventlistener(event.complete,handleurlloadercompleted);

urlloader.load(new urlrequest("mydata/duanxuan.xml"));

private function handleurlloadercompleted(event:event):void

Flex 動態讀取外部xml檔案

在flex中xml檔案是使用頻率非常高的,因為在flex中xml檔案的操作非常簡單。有的時候我們希望用xml作為配置檔案來動態配置我們的系統。雖然flexsdk提供了乙個只能用在在mxml檔案中標籤,這個標籤的source屬性可以讀取外部的xml檔案,但是這樣的方式會使xml檔案嵌入到生成的swf檔...

Flex讀取外部XML

1.使用xml標籤讀取外部資料 flex 3 flex 42.使用urlloader private function init void private function oncomplete event event void 如果在編譯過程中出現 無法訪問本地資源。則需要設定編譯引數 use n...

flex操作外部xml檔案

xml檔案 兩種方法 1,httpservice方法 bindable var mydata arraycollection new arraycollection private function init void private function resulthandler event res...