Flex ComboBox 加载xml数据

简介:


xml数据:
<?xml version="1.0" encoding="utf-8" ?>
- < cllblist >
- < cllb >
< typename > 翻唱彩铃 </ typename >
< typevalue > 1 </ typevalue >
</ cllb >
- < cllb >
< typename > 原创彩铃 </ typename >
< typevalue > 2 </ typevalue >
</ cllb >
- < cllb >
< typename > 搞笑彩铃 </ typename >
< typevalue > 3 </ typevalue >
</ cllb >
- < cllb >
< typename > 节日问候 </ typename >
< typevalue > 4 </ typevalue >
</ cllb >
- < cllb >
< typename > 童声童趣 </ typename >
< typevalue > 5 </ typevalue >
</ cllb >
- < cllb >
< typename > 其他 </ typename >
< typevalue > 6 </ typevalue >
</ cllb >
</ cllblist >


代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx=" http://www.adobe.com/2006/mxml" creationComplete="Init()" width="250" height="215" styleName="winupload" cornerRadius="20" borderStyle="none">
<mx:Script>
<![CDATA[
import mx.messaging.messages.ErrorMessage;
import mx.events.ListEvent;
import mx.events.ToolTipEvent;
import mx.utils.ArrayUtil;
import mx.utils.ObjectUtil;
import mx.events.IndexChangedEvent;
import flash.display.*;
import flash.errors.*;
import flash.events.*;
import flash.media.*;
import flash.net.*;
import flash.system.*;
import flash.text.*;
import mx.formatters.DateFormatter;
import mx.controls.sliderClasses.Slider;
import mx.events.SliderEvent;
import mx.events.VideoEvent;
import flash.events.EventDispatcher;
import mx.controls.Alert;
import mx.utils.ObjectUtil;
import mx.controls.TileList;
import mx.managers.PopUpManager;
private var UserMobile:String="";//用户名
private var IsLogin:Boolean=false;//是否登录
private var xmlarray:Array=null;
private function Init():void
{
var requestBz:URLRequest=new URLRequest(" http://diy.bonson.cn/soft/CLLBList.aspx");
var bzloader:URLLoader=new URLLoader();
bzloader.dataFormat=URLLoaderDataFormat.BINARY;
bzloader.load(requestBz);
bzloader.addEventListener(Event.COMPLETE,loadLbFinish);
/*
this.width=250;
this.height=215;
var requestBz:URLRequest=new URLRequest(" http://diy.bonson.cn/soft/GetFlashSession.aspx");
var bzloader:URLLoader=new URLLoader();
bzloader.dataFormat=URLLoaderDataFormat.BINARY;
bzloader.load(requestBz);
bzloader.addEventListener(Event.COMPLETE,loadSessionFinish);
this.x = this.parent.width / 2 - this.width / 2;
this.y = this.parent.height / 2 - this.height / 2;
this.width=0;
this.height=0;
*/
}
private function loadSessionFinish(event:Event):void
{
var BA:ByteArray = new ByteArray;
BA.writeBytes((event.target as URLLoader).data);
BA.position = 0;
var result:String=BA.readMultiByte(BA.length,"utf-8").replace("\r\n","");

var tempstr:String="false";
var i:int=0;
for(i;i<result.length;i++)
{
if(result.charAt(i) != tempstr.charAt(i))
{
this.IsLogin=true;
var val:Array=result.split("|");
UserMobile=val[1];
break;
}
}
if(this.IsLogin==false)
{
Alert.show("请您先登录!","提示信息",Alert.OK);
PopUpManager.removePopUp(this);
}
else
{
var requestBz:URLRequest=new URLRequest(" http://diy.bonson.cn/soft/CLLBList.aspx");
var bzloader:URLLoader=new URLLoader();
bzloader.dataFormat=URLLoaderDataFormat.BINARY;
bzloader.load(requestBz);
bzloader.addEventListener(Event.COMPLETE,loadLbFinish);
this.width=250;
this.height=215;
}
}

private function loadLbFinish(event:Event):void
{
var BA:ByteArray = new ByteArray;
BA.writeBytes((event.target as URLLoader).data);
BA.position = 0;
var result:String=BA.readMultiByte(BA.length,"utf-8").replace("\r\n","");
var cllb:XML = XML(result);
var results:XMLList = cllb.children();
var array:Array = ElementToAttr(results);
xmlarray=ElementToAttr(results);
//this.ddl_cllb.labelField="typename";
//this.ddl_cllb.data=array["typevalue"];
this.ddl_cllb.dataProvider = array;
}
public function ElementToAttr(results:XMLList):Array
{
var array:Array=new Array();
for each(var child:XML in results)
{
var obj:Object=new Object();
//方法1:
/*
obj[child.nodeKind()]=child[child.nodeKind()];
for each(var ite:XML in child.children())
{
obj[ite.name().toString()]=child[ite.name().toString()];
}
*/
//方法2:
obj["label"]=child.typename;
obj["data"]=child.typevalue;
array.push(obj);
}
return array;
}
private function ddlchange():void
{
this.txt_mc.text=this.ddl_cllb.selectedLabel+"|"+String(this.ddl_cllb.value);
for(var i:int=0;i<xmlarray.length;i++)
{
this.txt_js.text+= xmlarray[i]["typename"]+"|"+xmlarray[i]["typevalue"]+"\r";
}
}
private function Upload():void
{

}
]]>
</mx:Script>
<mx:Label text="作品类型:" x="10" y="19"/>
<mx:Label text="彩铃名称:" x="10" y="65"/>
<mx:TextArea x="76" y="105" height="62" width="160" wordWrap="true" maxChars="200" id="txt_js"/>
<mx:Button label="返 回" click="PopUpManager.removePopUp(this);" horizontalCenter="48" verticalCenter="84"/>
<mx:Button label="上 传" click="Upload()" id="btn_upload" enabled="true" horizontalCenter="-50" verticalCenter="84"/>
<mx:TextInput x="76" y="63" width="160" editable="true" maxChars="50" id="txt_mc"/>
<mx:Label text="作品介绍:" x="10" y="125"/>
<mx:ComboBox x="76" y="16" id="ddl_cllb" change="ddlchange()" selectedIndex="0" editable="false"></mx:ComboBox>
</mx:Canvas>



本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/archive/2009/08/25/1553467.html,如需转载请自行联系原作者

相关文章
|
2月前
|
XML 数据格式
加载 XML 字符串
加载 XML 字符串
|
2月前
|
XML 数据格式
加载 XML 字符串
加载 XML 字符串
|
2月前
|
XML 数据格式
加载 XML 字符串
加载 XML 字符串
|
2月前
|
XML 数据格式
加载 XML 字符串
加载 XML 字符串
|
2月前
|
XML 数据格式
加载 XML 字符串
加载 XML 字符串
|
2月前
|
XML 数据格式
加载 XML 字符串
加载 XML 字符串
|
2月前
|
XML 数据格式
加载 XML 字符串
加载 XML 字符串
|
2月前
|
XML Web App开发 数据格式
HTML 页面显示 XML 数据
10月更文挑战第2天
|
2月前
|
XML 数据格式
加载 XML 字符串
加载 XML 字符串
|
2月前
|
XML JSON 前端开发
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
393 0