flex中xml对象通过xpath查找结点的方法

今天,在完成一个功能时需要写一个xml的配置文件将指标信息配置进去,然后页面需要时去读取并解析其中的内容,我草拟了一个xml结构,但是在flex端开发人员却反映该xml结构不好解析不好使用。后来了解了一下,原因是对flex端通过xpath解析xml对象使用不熟悉导致,如果使用传统的循环遍历的方式将会带来极大的工作量和复杂度,下边就说一下遇到的xml结构及使用xpath来解析的方法。xml结构如下图所示:

下边是几个需求及查询方法:

//查询根结点下所有kpis结点

var xmlList:XMLList = kpiXml.kpis;

 

//查询根结点下所有type=VIP的kpis结点

var xmlList:XMLList =kpiXml.kpis.(@type=='VIP');

 

//查询根结点下所有type=VIP的kpis结点的所有kpi子结点

var xmlList:XMLList =kpiXml.kpis.(@type=='VIP').kpi;

 

//查询根结点下所有type=VIP的kpis结点的所有neType=PROVINCE并且interval=60的kpi子结点

var xmlList:XMLList =kpiXml.kpis.(@type=='VIP').kpi.(@neType=='PROVINCE' && @interval=='60')as XMLList;

 

//查询所有kpis结点,不区分级别

var xmlList:XMLList = kpiXml..kpis;

 

注意:需要将xml对象的format属性设置为e4x,示例:<fx:XML source="config/daymonitor_kpiconfig.xml" format="e4x" id="kpiXml"/>

posted @ 2012-12-14 15:30  小小有  阅读(424)  评论(0)    收藏  举报