flex读取xml数据并呈现在DataGrid中
2010-07-13 14:31codeif.com
新建一个flex工程,工程名为user,user.mxml 如下
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="srv.send()">
<mx:Script>
<![CDATA[
import mx.collections.XMLListCollection;
import mx.rpc.events.ResultEvent;
[Bindable]
private var users:XML;
private function resultUsers(event:ResultEvent):void{//处理结果
users = XML(event.result);
datagrid.dataProvider=users.children();//XMLList
}
]]>
</mx:Script>
<mx:HTTPService url="user.xml" useProxy="false" id="srv" resultFormat="xml" result="resultUsers(event)">
</mx:HTTPService>
<mx:DataGrid width="400" height="200" id="datagrid">
<mx:columns>
<mx:DataGridColumn headerText="ID" dataField="ID"/>
<mx:DataGridColumn headerText="姓名" dataField="name"/>
<mx:DataGridColumn headerText="年龄" dataField="age"/>
</mx:columns>
</mx:DataGrid>
</mx:Application>
在同一目录下简历如下xml文件,user.xml
<?xml version="1.0" encoding="utf-8"?>
<users>
<user>
<ID>213001</ID>
<name>飞机</name>
<age>22</age>
</user>
<user>
<ID>213003</ID>
<name>痞子</name>
<age>23</age>
</user>
<user>
<ID>213006</ID>
<name>嗨嗨</name>
<age>22</age>
</user>
<user>
<ID>213013</ID>
<name>小强</name>
<age>21</age>
</user>
<user>
<ID>213015</ID>
<name>萧萧</name>
<age>22</age>
</user>
<user>
<ID>213016</ID>
<name>小敏</name>
<age>22</age>
</user>
</users>
