Flex:ArrayCollection转xml形式的实例

ArrayCollection转成xml类型示例

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

Xml代码 复制代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12"  creationComplete="init()">  
  3.     <mx:Style source="style/Smoke.css"/>  
  4.     <mx:Script>  
  5.         <![CDATA[  
  6.          import mx.collections.ArrayCollection;       
  7.          [Bindable]private var shijxml:XML;  
  8.            
  9.           private function init():void{  
  10.             shijxml = arrToXml(exams);  
  11.           }  
  12.            
  13.         [Bindable]  
  14.         public var exams:ArrayCollection = new ArrayCollection(  
  15.                 [{sjtitle:"数据结构第一章", kemu:"数据结构",shijID:"sj000" ,num:"30"},   
  16.                  {sjtitle:"数据结构第二章", kemu:"数据结构",shijID:"sj001" ,num:"30"},   
  17.                 {sjtitle:"组成原理第一章", kemu:"组成原理",shijID:"zc000" ,num:"50"},                      
  18.                 {sjtitle:"组成原理第二章", kemu:"组成原理",shijID:"zc001" ,num:"30"} ]);  
  19.                     
  20.          private function arrToXml(arr:ArrayCollection):XML{  
  21.                 var root:XML = new XML("<root/>");  
  22.                 for(var i:int = 0;i<arr.length;i++){  
  23.                     var node:XML = new XML("<node/>");  
  24.                     node.sjtitle = arr[i].sjtitle;  
  25.                     node.kemu= arr[i].kemu;  
  26.                     node.shijID= arr[i].shijID;  
  27.                     node.num= arr[i].num;  
  28.                     root.appendChild(node);  
  29.                 }  
  30.                 return root;  
  31.             }  
  32.             private function closeHandler(event:Event):void {  
  33.                show.text="试卷标题: "+ ComboBox(event.target).selectedItem;  
  34.                var  temp:String=String(ComboBox(event.target).selectedItem);  
  35.                for each(var xml:XML in shijxml.node){  
  36.                 if(xml.sjtitle==temp){  
  37.                     show.text="考试科目: "+xml.kemu+"/n"+"试卷题数: "+xml.num+"/n"+  
  38.                     "试卷编号: "+xml.shijID;  
  39.                 }  
  40.               }     
  41.             }       
  42.         ]]>  
  43.     </mx:Script>  
  44.     <mx:Panel width="100%" height="100%" layout="absolute" >  
  45.         <mx:DataGrid height="100%" width="50%" dataProvider="{exams}">  
  46.         </mx:DataGrid>  
  47.         <mx:ComboBox y="79" close="closeHandler(event);" dataProvider="{shijxml.node.sjtitle}" right="88"></mx:ComboBox>  
  48.         <mx:Text y="111" id="show"  width="185" height="126" right="50"/>  
  49.     </mx:Panel>  
  50. </mx:Application>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值