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 に答える