TreeFromXML.mxml
<?
xml version="1.0" encoding="utf-8"
?>
< mx:Application xmlns:mx ="http://www.adobe.com/2006/mxml"
fontFamily ="simsun" fontSize ="12"
layout ="absolute" creationComplete ="menu.send();" width ="242" height ="442" >
< mx:Script >
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
[Bindable]
private var menus:XML;
private function LoadMenu(event:ResultEvent):void{
menus = XML(event.result);
var results:XMLList = menus.node;
tree.dataProvider = results;
}
]]>
</ mx:Script >
< mx:HTTPService url ="TreeMenus.xml" id ="menu" useProxy ="false"
showBusyCursor ="true" result ="LoadMenu(event)" resultFormat ="xml" />
< mx:Tree id ="tree" x ="10" y ="35" width ="218" height ="397" labelField ="@label" />
< mx:Label x ="10" y ="10" text ="Tree Nodes From XML File" />
</ mx:Application >
< mx:Application xmlns:mx ="http://www.adobe.com/2006/mxml"
fontFamily ="simsun" fontSize ="12"
layout ="absolute" creationComplete ="menu.send();" width ="242" height ="442" >
< mx:Script >
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
[Bindable]
private var menus:XML;
private function LoadMenu(event:ResultEvent):void{
menus = XML(event.result);
var results:XMLList = menus.node;
tree.dataProvider = results;
}
]]>
</ mx:Script >
< mx:HTTPService url ="TreeMenus.xml" id ="menu" useProxy ="false"
showBusyCursor ="true" result ="LoadMenu(event)" resultFormat ="xml" />
< mx:Tree id ="tree" x ="10" y ="35" width ="218" height ="397" labelField ="@label" />
< mx:Label x ="10" y ="10" text ="Tree Nodes From XML File" />
</ mx:Application >
TreeMenus.xml
<?
xml version="1.0" encoding="utf-8"
?>
< menus >
< node label ="Mail" >
< node label ="Inbox" />
< node label ="Personal Folder" >
< node label ="Demo" />
< node label ="Personal" />
< node label ="Saved Mail" />
< node label ="bar" />
</ node >
< node label ="Calendar" />
< node label ="Sent" />
< node label ="Trash" />
</ node >
</ menus >
< menus >
< node label ="Mail" >
< node label ="Inbox" />
< node label ="Personal Folder" >
< node label ="Demo" />
< node label ="Personal" />
< node label ="Saved Mail" />
< node label ="bar" />
</ node >
< node label ="Calendar" />
< node label ="Sent" />
< node label ="Trash" />
</ node >
</ menus >
总结
1.用<mx:HTTPServiec>将XML加载进来,加载完成时触发Result事件,将tree.dataProvider绑定
2.在AS中动态加载可使用URLLoader