在Flex中我们经常使用xml文件,因为Flex支持强大的E4X功能,读取xml相当简洁。总结一下常用的Flex读取XML配置文件的方法:
1.使用Model标签形式
首先声明Model标签,
<mx:Modelidmx:Modelid="model"source="conf/configuration.xml"/>
xml形如:
<config><username>hzd</username><psw>123456<psw></config>
那么,只需要在初始化事件中直接调用即可,例如:model.username,model.psw即可取到想要的值。
2.使用URLLoader
varurlLoader:URLLoader=newURLLoader(); urlLoader.addEventListener(PLETE,handleURLLoaderCompleted); urlLoader.load(newURLRequest("conf/configuration.xml")); privatefunctionhandleURLLoaderCompleted(event:Event):void{ varloader:URLLoader=event.targetasURLLoader; xml=XML(loader.data); //dispatchEventhere }
3.使用HttpService
<mx:HTTPServiceidmx:HTTPServiceid="xmlReader"url="conf/configuration.xml" result="resultHandler(event)"/>privatefunctionresultHandler(event:ResultEvent):void{ vardp:ArrayCollection=event.resultasArrayCollection; ...... }
在组件的createComplete事件中添加xmlReader.send();语句调用Http请求。这种Flex读取XML配置文件方法的格式是数组的形式,所以用ArrayCollection接收。如果想使用强大的E4X功能,建议还是用第一种活第二种方法。