DropDownList 加载XML

将外部的XML文件加载到 Flex DropDownList 件中使用

把XML类型 转换成让DropDownList 组件dataProvider 可以用的数据

dataProvider : IList

此 DataGroup 的数据提供程序。它必须为 IList。

在 Flex 框架中包含多个 IList 实现,包括 ArrayCollection、ArrayList 和 XMLListCollection。

此属性可用作数据绑定的源。修改此属性后,将调度 dataProviderChanged 事件。

解决方法如下:

//创建URLLoader对象

//URLLoader 对象会先从 URL 中下载所有数据,然后才将数据用于应用程序中的代码。它会发出有关下载进度的通知,通过 bytesLoadedbytesTotal 属性以及已分派的事件,可以监视下载进度。

 

[Bindable]

private var arr:XMLListCollection = new  XMLListCollection();

 

var urlLoader:URLLoader = new URLLoader();  

//侦听Event.COMPLETE事件

urlLoader.addEventListener(Event.COMPLETE,complete);

//从外部加载数据

urlLoader.load(new URLRequest("assets/vocation.xml"));

 

//complete 处理事件的侦听器函数

private function complete(event:Event):void

{

    //获得XML文件
    var voc:XML = new XML(event.target.data);

    //也可以用 voc.children() 方法
    arr.source = voc.elements("items");

}

 

// new  ArrayCollection(arr.toArray());   可得到ArrayCollection对象,我们这里可以不用

 protected function ddl_voc_changeHandler(event:IndexChangeEvent):void

{
       content.text = ddl_voc.selectedItem.content; 

}  

 

/*Flex 应用程序*/

<s:DropDownList id="ddl_voc" x="20" y="128" labelField="vocation" dataProvider="{arr}" prompt="选择职业"
     change="ddl_voc_changeHandler(event)"/>

<s:TextArea id="content" x="15" y="153" width="264" height="102" borderVisible="false" color="#054E30"/>

 

 

/*xml文件*/

<vocations>
 <items>
  <vocation>

    战士
  </vocation>
  <content>

    内容
  </content>
  <skill>

    技能
   </skill>
 </items>

</vocations>

 

欢迎访问Java学习者论坛 http://www.javaxxz.com

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值