[quote]本文向大家介紹一下flex讀取外部xml檔案的幾種方法,因為flex支援強大的e4x功能,所以在flex中xml檔案的操作非常簡單。[/quote]
本文和大家重點討論一下flex讀取外部xml檔案的幾種方法,因為flex支援強大的e4x功能,所以在flex中xml檔案的操作非常簡單。下面總結一下常用的讀取xml配置檔案的方法,希望對你有所幫助。
flex讀取外部xml檔案的幾種方法
因為flex支援強大的e4x功能,所以在flex中xml檔案的操作非常簡單。下面,總結一下常用的讀取xml配置檔案的方法:
1使用model標籤形式
首先宣告model標籤:
2使用xml標籤形式
3使用httpservice
privatefunctionresulthandler(event:resultevent):void
有的時候我們希望用xml作為配置檔案來動態配置我們的系統。雖然flexsdk提供了乙個只能用在在mxml檔案中、標籤,這些標籤的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
Flex 讀取外 部XML檔案
因為flex 支援強大的 e4x功能,所以 在flex中xml文 件的操作非常簡單 下面,總結一下常用的讀取xml配 置檔案的方法 1 使用model標籤形式 首先宣告model標籤 2 使用xml標籤形式 3 使用httpservice result resulthandler event pri...
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...