请问ComboBox如何绑定以httservice获取的数据(xml格式)

请问ComboBox如何绑定以httservice获取的数据(xml格式),要不要把XML转换成arrayCollection类型的?

还有,如何把httservice获取的数据(xml格式)转换成arrayCollection类型的,然后在绑定到组件上。给个参考代码。谢谢
[b]问题补充:[/b]
首先,感谢您的回答,但,我的问题:我想把httservice获取的数据(xml格式)转换成arrayCollection类型的,然后组建绑定arrayCollection类型数据,是这样的,可以为我解答吗?

晕,你有专门开问xml转Arraycollection了,看来是我误导你了,Arraycollection只是绑定的一种选择而已,xml也是完全可以作为数据源的,建议你把对应的一小段xml发上来,我来看看,按照我们项目中的写法,分不同情况xml和Arraycollection都会使用绑定,下面我写一段我在xml的处理方式
[code="xml"]
mx:Script
<![CDATA[
import mx.collections.*;
[Bindable] public var _menuBarCollection:XMLListCollection;

     ]]> 

/mx:Script

/mx:MenuBar
[/code]
xml我是转换成XMLListCollection操作的,其实也不一定需要那样,注意labelFiled的写法啊,如果是xml格式的对应的属性一定要加上@

xml转XMLListCollection很简单,直接new XMLListCollection(需转换的xml);

如果你要Array的话,那就直接修改httpService的返回值的格式
[code="java"]
resultFormat 属性

resultFormat:String []

指示如何反序列化由 HTTP 调用返回的结果的值。该项目的值根据以下条件确定:

返回的是 XML 还是名称/值对。
访问结果的方式;可以将结果作为 object、text 或 XML 进行访问。
默认值为 object。允许使用的值包括:

object 返回的值为 XML 并且按照 ActionScript 对象树分析。此为默认。
array 返回的值是 XML 并且按照 ActionScript 对象树分析。但是,如果顶级对象不是数组,将创建一个新数组并且将结果设置为第一个项目。如果 makeObjectsBindable 为 true,则该数组将被包装在 ArrayCollection 中。
xml 返回的值为 XML 并且作为 ActionScript XMLnode 对象中的文本 XML 返回。
flashvars 返回的值是包含由 & 符号分隔的名称=值对的文本,该文本被分析为 ActionScript 对象。
text 返回的值为文本并且未经处理。
e4x 返回的值为 XML 并且作为 ActionScript XML 对象中的文本 XML 返回,可以使用 ECMAScript for XML (E4X) 表达式进行访问。
[/code]

[code="xml"]
<?xml version="1.0" encoding="utf-8"?>



mx:Script

<![CDATA[
private function initializeHandler(event:Event):void {
countriesService.send();
}
private function changeHandler(event:Event):void {
statesService.send();
}
]]>

/mx:Script




mx:request

{country.value}

/mx:request

/mx:HTTPService

mx:VBox

change="changeHandler(event)" />



/mx:VBox

/mx:Application

[/code]

其他方法还有,http://bbs.airia.cn/FLEX/thread-4946-1-1.aspx

补充一下,你上面的ComboBox如果是xmlListCollection的话只要注意labelFiled属性需要加上@就好