我的script.php
会返回此XML
<all>
<item>
<field1>value1</field1>
<field2>value2</field2>
</item>
<item>
<field1>value1</field1>
<field2>value2</field2>
</item>
</all>
HTTPService
使用默认resultFormat="object"
但我没有声明它,因为它是默认值。
然后我将它绑定到List
dataProvider="{getDataHTTP.lastResult.all.item}"
当返回的item
的数量超过1时,我没有遇到任何问题。但是当它只有1 item
时,我收到错误,无法将XMLList转换为mx.collections.IList。< / strong>
我尝试了不同的解决方案,包括尝试将其转换为XMLListCollection
,但仍然会为单个项目提供错误。有谁知道可能解决这个问题的方法?
答案 0 :(得分:2)
点击resultFormat="xml"
并设置dataProvider="{getDataHTTP.lastResult.item}"
答案 1 :(得分:1)
import mx.rpc.xml.SimpleXMLDecoder;
import mx.rpc.xml.SimpleXMLEncoder;
[Bindable]public var xmlDataObj:Object = new Object();
private function yourResultEvent(evt:ResultEvent):void{
var resultXml:XMLDocument = new XMLDocument(evt.result as String);
var decoder:SimpleXMLDecoder = new SimpleXMLDecoder(true);
xmlDataObj= decoder.decodeXML(resultXml).all.item;
}
这样您就不必担心将resultFormat更改为XML或e4x。