Flex中解析XML文件示例

AS解析程序

 

package util
{
 import mx.collections.ArrayCollection;
 import mx.rpc.events.ResultEvent;
 import mx.rpc.http.HTTPService;

 public class StatisticalUtil
 {
  public static var statisticalArr:ArrayCollection=new ArrayCollection();
  public static var viewXMLList:XMLList=new XMLList();

  public function StatisticalUtil()
  {
  }

  public static function getStatistical():void{
   var hts:HTTPService = new HTTPService();
   hts.url="assets/data/statistical.xml";
   hts.resultFormat="e4x";
   hts.addEventListener(ResultEvent.RESULT,handler);
   hts.send();
  }
  private static function handler(e:ResultEvent):void{
   //statisticalArr=e.result as ArrayCollection;
   viewXMLList = e.result.statisticalList;

   var oList:Object=new Object();
   oList=viewXMLList[0].statistical;
   for(var i:int=0;i<oList.length();i++){
    //log.debug(menuObj[i].@title)
    var o:Object=new Object();
    o.value=oList[i].@value
    o.label=oList[i].@label
    o.children=new ArrayCollection()
    var childObj:Object=oList[i].statistical
    for(var j:int=0;j<childObj.length();j++){
     var o1:Object=new Object();
     o1.value=childObj[j].@value
     o1.label=childObj[j].@label
     o.children.addItem(o1)
    }
    statisticalArr.addItem(o)
   }
  }


  public static function statisticalSource4OrgNo(orgNo:String,arr:ArrayCollection):ArrayCollection{
   var resultArr:ArrayCollection=new ArrayCollection();
   for(var t:int=0;t<arr.length;t++){
    if(orgNo==arr[t].value){
     resultArr=arr[t].children as ArrayCollection;
    }
   }
   return resultArr;
  }

 }
}

 

 

XML文件

 

<?xml version="1.0" encoding="UTF-8"?>
<statisticals>
 <statisticalList>
  <statistical value="changsha" label="长沙">
   <statistical value="00" label="全口径"></statistical>
   <statistical value="01" label="部署口径"></statistical>
   <statistical value="02" label="地市公司"></statistical>
   <statistical value="03" label="县公司"></statistical>
  </statistical>

  <statistical value="loudi" label="娄底">
   <statistical value="00" label="全口径"></statistical>
   <statistical value="01" label="部署口径"></statistical>
  </statistical>

  <statistical value="hengyang" label="衡阳">
   <statistical value="00" label="地市公司"></statistical>
   <statistical value="01" label="直供"></statistical>
   <statistical value="02" label="泵售结算"></statistical>
   <statistical value="03" label="县公司"></statistical>
  </statistical>
 </statisticalList>
</statisticals>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值