Flex 读取 XML文件

student.xml
<?xml version="1.0" encoding="UTF-8"?>
<students>
<student>
<name>A</name>
<sex>m</sex>
<age>12</age>
</student>
<student>
<name>B</name>
<sex>f</sex>
<age>14</age>
</student>
<student>
<name>C</name>
<sex>m</sex>
<age>13</age>
</student>
</students>
-------------------------------------------------------------------------------------------------------------
法1:XML类加载xml
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
  xmlns:s="library://ns.adobe.com/flex/spark" 
  xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<fx:XML id="xmlF" source="student.xml"/>
</fx:Declarations>
<mx:Panel title="XML类加载xml">
<mx:DataGrid dataProvider="{xmlF.student}">
<mx:columns>
<mx:DataGridColumn headerText="姓名" dataField="name" />
<mx:DataGridColumn headerText="年龄" dataField="age" />
<mx:DataGridColumn headerText="性别" dataField="sex" />
</mx:columns>
</mx:DataGrid>
</mx:Panel>
</s:Application>
------------------------------------------------------------------------------------------------------------------
法2:model加载xml
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
  xmlns:s="library://ns.adobe.com/flex/spark" 
  xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<fx:Model id="modelF" source="student.xml"/>
</fx:Declarations>
<mx:Panel title="model加载xml">
<mx:DataGrid dataProvider="{modelF.student}">
<mx:columns>
<mx:DataGridColumn headerText="姓名" dataField="name" />
<mx:DataGridColumn headerText="年龄" dataField="age" />
<mx:DataGridColumn headerText="性别" dataField="sex" />
</mx:columns>
</mx:DataGrid>
</mx:Panel>
</s:Application>
---------------------------------------------------------------------------------------------------------------------
法3:URLLoader加载xml
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
  xmlns:s="library://ns.adobe.com/flex/spark" 
  xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init()">
<fx:Script>
<![CDATA[
[Bindable]
private var loader:URLLoader=new URLLoader();
[Bindable]
private var xml:XML=new XML();
private function init():void{
loader.load(new URLRequest("student.xml"));
loader.addEventListener(Event.COMPLETE,onComplete);
}
private function onComplete(evt:Event):void{
xml=XML(loader.data);
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<mx:Panel title="URLLoader加载xml">
<mx:DataGrid dataProvider="{xml.student}">
<mx:columns>
<mx:DataGridColumn headerText="姓名" dataField="name" />
<mx:DataGridColumn headerText="年龄" dataField="age" />
<mx:DataGridColumn headerText="性别" dataField="sex" />
</mx:columns>
</mx:DataGrid>
</mx:Panel>
</s:Application>
----------------------------------------------------------------------------------------------------------------------------
法4:HTTPService类加载xml
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
  xmlns:s="library://ns.adobe.com/flex/spark" 
  xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init()">
<fx:Script>
<![CDATA[
private function init():void{
xmlData.send();
}
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
[Bindable]
private var ArrayXML:ArrayCollection;
public function ResultHandle(event:ResultEvent):void
{
ArrayXML=event.result.students.student;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<mx:HTTPService id="xmlData" url="student.xml" result="ResultHandle(event)"/>
</fx:Declarations>
<mx:Panel title="HTTPService类加载xml">
<mx:DataGrid dataProvider="{ArrayXML}">
<mx:columns>
<mx:DataGridColumn headerText="姓名" dataField="name" />
<mx:DataGridColumn headerText="年龄" dataField="age" />
<mx:DataGridColumn headerText="性别" dataField="sex" />
</mx:columns>
</mx:DataGrid>
</mx:Panel>
</s:Application>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值