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