1

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。

我尝试了不同的解决方案,包括尝试将其转换为,XMLListCollection但它仍然会为单个项目提供错误。有谁知道可能解决这个问题的方法?

4

2 回答 2

2

制作resultFormat="xml"和设置dataProvider="{getDataHTTP.lastResult.item}"

于 2010-05-10T04:31:01.720 回答
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。

于 2010-05-10T09:51:59.990 回答