flex URLRequest 加载XML

来源:互联网 发布:java基础书记 编辑:程序博客网 时间:2024/06/07 06:08

问题
我想从XML文档中或服务端脚本产生的XML中读取XML数据
解决办法
使用URLLoader.load() 方法且设置dataFormat属性为DataFormat.TEXT读取数据,通过complete
事件处理函数转换载入的数据为XML实例
讨论
ActionScript3.0中发送和读取数据由新的URLLoader及其相关类完成,读取XML也没有什么特殊
的地方。
读取XML文件的步骤如下:首先创建URLLoader实例以简单文本形式读取数据,其dataFormat 属
性必须设置为DataFormat.Text,监听并添加complete事件处理函数,看下面的例子演示:

 

package{       importflash.display.*;       importflash.events.*;       importflash.net.*;       importflash.util.*;      public class LoadXMLExample extends Sprite     {         public function LoadXMLExample( )        {          var loader:URLLoader=new URLLoader( );          loader.dataFormat=DataFormat.TEXT;          loader.addEventListener(Event.COMPLETE,handleComplete);          loader.load(newURLRequest("example.xml" ));         }         private functionhandleComplete(event:Event):void        {         try{         //Convert thedownlaodedtextintoan XMLinstance         var example:XML=new XML( event.target.data);         //At thispoint,exampleisreadytobeused withE4X         trace(example);        }catch( e:TypeError){         //If wegethere,thatmeansthedownloadedtextcould         //notbeconvertedintoanXMLinstance,probablybecause         //it isnotformattedcorrectly.         trace("CouldnotparsetextintoXML" );         trace(e.message );       }    }  }}





上面的例子中之所以用 try...catch 块,是考虑到读取的数据有可能不是 XML 格式数据,
TypeError 异常就是不能成功转换为XML实例时抛出的。

 

摘自coolbook

原创粉丝点击