2012年4月13日 星期五
URLLoader讀取3種資料格式(一)文字格式
URLLoader分為3種格式(1).文字 (2).URL編碼 (3).二進位資料byteArray
要判斷返回資料是哪種格式可以使用URLLoader的屬性dataFormat來做判斷..
1.URLLoaderDataFormat.TEXT(文字,xml)
2.URLLoaderDataFormat.VARIABLES(URL編碼格式變數)
3.URLLoaderDataFormat.BINARY(二進位資料)
-------------------------------- URLLoader會發出6種事件---------------------------------
1.Event.OPEN load()方法一使用則觸發事件
2.ProgressEvent.PROGRESS 載入過程中接收下載位元資訊
3.Event.COMPLETE 載入完成時觸發
4.HTTPStatusEvent.HTTP 載入完成或是失敗之前會發出HTTP狀態事件
5.IOErrorEvent.IO_ERROR 載入失敗
6.SecurityErrorEvent.SECURITY_ERROR 載入內容不符合安全性規則
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
/**
* ...
* @author Ray Cheng
*/
public class Main extends Sprite
{
private var _urlLoader:URLLoader;
private var _urlReqest:URLRequest;
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
create();
}
private function create():void
{
_urlLoader = new URLLoader();
_urlLoader.addEventListener(Event.COMPLETE, onURLCompleteHandler);
//---當連接外部伺服器或是網路資料時,使用try catch是穩健的做法
try {
_urlLoader.load(new URLRequest("portPageList.xml"));
}catch(e:Error){
trace("錯誤訊息"+Error)
}
}
private function onURLCompleteHandler(e:Event):void
{
//---需要new一個新的對應資料型別來接收data資訊
var $xml:XML = new XML(e.target.data);
var $xmlList:XMLList=$xml.year.item.logo
//---找出XMLlist標單內所有<logo>鍵值
for each(var logo:XML in $xmlList) {
trace(logo)
}
//---判斷資料型別,總共有3種(1)預設utf8文字(2)URL編碼變數格式post,get(3)二進位資料格式byteArray
trace(e.target.dataFormat)
}
}
}
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言
我的留言版