在本实例中将从一个XML对象通过层层转换最终变为ArrayCollection对象
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
creationComplete="init()">
<mx:Script>
<!--[CDATA[
import mx.collections.XMLListCollection;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
public var myData:XML=
<tables>
<table>
<name>TRP_USERS</name>
<statement>CREATE TABLE IF NOT EXISTS TRP_USERS (USER_ID INTEGER PRIMARY KEY AUTOINCREMENT,USER_NAME TEXT,PASSWORD TEXT,CREATION_DATE DATE)</statement>
</table>
<table>
<name>TRP_PROJECTS</name>
<statement>CREATE TABLE IF NOT EXISTS TRP_EMPLOYEE_PROJECTS (EMPLOYEE_PROJECT_ID INTEGER PRIMARY KEY AUTOINCREMENT,USER_ID INTEGER,EMPLOYEE_NUMBER TEXT,LEVEL_CODE TEXT,PROJECT_NAME TEXT,PROJECT_MANAGER TEXT,START_DATE DATE,SCHEDULE_END_DATE DATE,TECH_DIRECTOR_NAME TEXT,TECH_LEADER_NAME TEXT,TWO_WEEK_OUT TEXT,MEMO TEXT,UPLOAD_FLAG TEXT,CREATION_DATE DATE)</statement>
</table>
</tables>;
private var xmlList:XMLList=new XMLList();
private var xmlListCollection:XMLListCollection=new XMLListCollection();
private var provider:ArrayCollection;
private function init():void
{
xmlList=myData.elements("table");
xmlListCollection.source=xmlList;
provider=new ArrayCollection(xmlListCollection.toArray());
grid.dataProvider=provider;
}
]]-->
</mx:Script>
<mx:DataGrid x="221"
y="65"
width="742"
height="294"
id="grid">
<mx:columns>
<mx:DataGridColumn headerText="Name"
dataField="name"/>
<mx:DataGridColumn headerText="Sql"
dataField="statement"/>
</mx:columns>
</mx:DataGrid>
</mx:Application>
运行结果:
标签:XML,FLEX,NAME,TEXT,private,XMLList,DATE,TRP,ArrayCollection From: https://blog.51cto.com/u_16129500/6354845