FLEX XML、XMLList、XMLListCollection、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_PROJECTS (PROJECT_ID INTEGER PRIMARY KEY AUTOINCREMENT,PROJECT_NAME TEXT,PROJECT_INFO_SEG1 TEXT,PROJECT_INFO_SEG2 TEXT,PROJECT_INFO_SEG3 TEXT,PROJECT_INFO_SEG4 TEXT,PROJECT_INFO_SEG5 TEXT,PROJECT_INFO_SEG6 TEXT,PROJECT_INFO_SEG7 TEXT,PROJECT_INFO_SEG8 TEXT,PROJECT_INFO_SEG9 TEXT,PROJECT_INFO_SEG10 TEXT,PROJECT_INFO_SEG11 TEXT,PROJECT_INFO_SEG12 TEXT,PROJECT_INFO_SEG13 TEXT,PROJECT_INFO_SEG14 TEXT,PROJECT_INFO_SEG15 TEXT,TECH_DIRECTOR_NAME TEXT,TECH_PM_NAME,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>

你可能感兴趣的:(FLEX XML、XMLList、XMLListCollection、ArrayCollection关系转换)