Flex:ArrayCollection转xml形式的实例

ArrayCollection转成xml类型示例

下面模拟一组数据exams,将其转化为xml形式.详细代码见下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12"  creationComplete="init()">
	<mx:Style source="style/Smoke.css"/>
	<mx:Script>
		<![CDATA[
		 import mx.collections.ArrayCollection;		
		 [Bindable]private var shijxml:XML;
		 
		  private function init():void{
		  	shijxml = arrToXml(exams);
		  }
		 
		[Bindable]
        public var exams:ArrayCollection = new ArrayCollection(
                [{sjtitle:"数据结构第一章", kemu:"数据结构",shijID:"sj000" ,num:"30"}, 
                 {sjtitle:"数据结构第二章", kemu:"数据结构",shijID:"sj001" ,num:"30"}, 
                {sjtitle:"组成原理第一章", kemu:"组成原理",shijID:"zc000" ,num:"50"},                    
                {sjtitle:"组成原理第二章", kemu:"组成原理",shijID:"zc001" ,num:"30"} ]);
                  
         private function arrToXml(arr:ArrayCollection):XML{
				var root:XML = new XML("<root/>");
				for(var i:int = 0;i<arr.length;i++){
					var node:XML = new XML("<node/>");
					node.sjtitle = arr[i].sjtitle;
					node.kemu= arr[i].kemu;
					node.shijID= arr[i].shijID;
					node.num= arr[i].num;
					root.appendChild(node);
				}
				return root;
			}
			private function closeHandler(event:Event):void {
               show.text="试卷标题: "+ ComboBox(event.target).selectedItem;
               var  temp:String=String(ComboBox(event.target).selectedItem);
               for each(var xml:XML in shijxml.node){
               	if(xml.sjtitle==temp){
               		show.text="考试科目: "+xml.kemu+"\n"+"试卷题数: "+xml.num+"\n"+
               		"试卷编号: "+xml.shijID;
               	}
              }   
            }	  
		]]>
	</mx:Script>
	<mx:Panel width="100%" height="100%" layout="absolute" >
		<mx:DataGrid height="100%" width="50%" dataProvider="{exams}">
		</mx:DataGrid>
		<mx:ComboBox y="79" close="closeHandler(event);" dataProvider="{shijxml.node.sjtitle}" right="88"></mx:ComboBox>
		<mx:Text y="111" id="show"  width="185" height="126" right="50"/>
	</mx:Panel>
</mx:Application>

 

附件是工程的完整代码。其中包含修改过的样式文件。

你可能感兴趣的:(数据结构,xml,css,Flex,Adobe)