2

ノードが1つしかない(繰り返しノードがない)XMLを取得し、ArrayCollectionに格納しようとすると、このエラーが発生します。-複数の「名前」ノードがある場合...エラーは発生しません。

TypeError: Error #1034: Type Coercion failed: cannot convert "XXXXXX" to mx.collections.ArrayCollection.

このエラーは、コード行として発生します。

myList= e.result.list.name;

ArrayCollectionが単一のノードで機能しないのはなぜですか?このArrayCollectionをコンポーネントのデータプロバイダーとして使用しています-単一ノードと繰り返しノードの両方を取得し、データプロバイダーとして機能する代替手段はありますか?前もって感謝します!

コード:

[Bindable]
private var myList:ArrayCollection= new ArrayCollection();

        private function getList(e:Event):void{

            var getStudyLoungesService:HTTPService = new HTTPService();
            getStuffService.url = "website.com/asdf.php";
            getStuffService.addEventListener(ResultEvent.RESULT, onGetList);
            getStuffService.send();

        }

        private function onGetList(e:ResultEvent):void{

            myList= e.result.list.name;
        }
4

2 に答える 2

1

に設定するresultFormat必要がありますe4x

var getStudyLoungesService:HTTPService = new HTTPService();
getStuffService.url = "website.com/asdf.php";
getStuffService.resultFormat = "e4x";
getStuffService.addEventListener(ResultEvent.RESULT, onGetList);
getStuffService.send();

次に、次のように結果を取得できます。

new XMLListCollection(e.result.list.name);

(Amarghoshのすべての功績は、何時間もそのことに頭を悩ませてきましたが、彼のコメントをほとんど見逃していました!)

于 2011-04-26T21:54:14.720 に答える
0

型の変数に、XMLまたはを直接割り当てることはできません。を使用して、データをコンストラクターに渡します。XMLListArrayCollectionXMLListCollection

[Bindable]
private var myList:XMLListCollection;

myList = new XMLListCollection(e.result.list.name);
于 2010-04-29T09:13:32.860 に答える