my script.php returns this XML
<all>
<item>
<field1>value1</field1>
<field2>value2</field2>
</item>
<item>
<field1>value1</field1>
<field2>value2</field2>
</item>
</all>
The HTTPService uses the default resultFormat="object" but I don't declare it since it's the default.
Then I bind it to a List
dataProvid开发者_运维问答er="{getDataHTTP.lastResult.all.item}"
I get no problems when the number of item returned is more than 1. But when it's only 1 item I get an error cannot convert XMLList to mx.collections.IList.
I tried different solutions including trying to cast it as XMLListCollection but it still gives an error for single items. Does anyone know of a way to possibly solve this?
Make resultFormat="xml" and set dataProvider="{getDataHTTP.lastResult.item}"
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;
}
This way you don't need to worry about changing your resultFormat to XML or e4x.
加载中,请稍侯......
精彩评论