作者:binbin | 来源:互联网 | 2023-09-05 15:31
hi!各位帅哥美女,我初学flex。现在想定义一个xml解析类,由于mxml很多标签所需的数据源格式不一样,所以我现在非常头疼的就是怎么把同一个xml文件解析为不同标签所需的数据源。界面如下:
hi!各位帅哥美女,我初学flex。现在想定义一个xml解析类,由于mxml很多标签所需的数据源格式不一样,所以我现在非常头疼的就是怎么把同一个xml文件解析为不同标签所需的数据源。
界面如下:
我要实现如下功能:左边为树菜单,右边为datagird的,tree根是部门,子是人员,右边的datagrid显示用户的相信信息,现在他们要共用一个xml文件,比如修改添加时,得操作同一个xml文件才能保证2边的数据一样。
现在我需要使用2种标签:
1:tree
tree需要的为:
2:datagrid需要
admin
技术部
80
80
160
admin
技术部
80
80
160
admin
技术部
80
80
160
admin
技术部
80
80
160
现在我自己定义了一个解析xml的类ParseXmlUtil
代码如下:
就是不知道handler(e:ResultEvent)怎么组合xml对象
package com.cntomorrow.util
{
import com.cntomorrow.obj.UserInfo;
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
import mx.rpc.http.HTTPService;
public class ParseXmlUtil
{
//定义属性
public static var statisticalArr:ArrayCollection=new ArrayCollection();
//定义xml对象
public static var viewXMLList:XMLList = new XMLList();
/**
* 构造方法
* */
public function ParseXmlUtil()
{
}
public static function getXmlModule():void{
var hts:HTTPService = new HTTPService();
hts.url="com/cntomorrow/module/dataProvider.xml";
hts.resultFormat="e4x";
hts.addEventListener(ResultEvent.RESULT,handler);
hts.send();
}
private static function handler(e:ResultEvent):void{
viewXMLList =e.result.userInfoList[0].userInfo;
var i:int=0;
for(i;i
var xml:XML=viewXMLList[i];
for(var j:int=0;j var obj:Object=new Object();
obj.value=xml[j].@value;
obj.label=xml[j].@label;
statisticalArr.addItem(obj);
}
}
}
}
}
现在本人纠结的是xml里怎么写?解析里怎么写?
谢谢各位帮我参谋下,本人非常的感谢,也希望和大家一起学习。
我在此谢谢各位额。
4 个解决方案
到ibm的论坛上看看,关于book 什么的处理,就是把一个XML的不同部分划分为多个应用的数据源。