1

Flexアプリは、データベースからデータをプルするphpページへのサービスを実行し、結果をXML形式で構造化します。関数の外部で呼び出される新しいXMLListを作成しtestList、結果が戻ってきたら(最初に、すべてのXMLコードを保持する単一の文字列としてフレックスになります)、次のコードを使用してXMLに変換し、testListに追加します。 :

var s:String = event.result as String;
var xml:XML = new XML(s);
testList = xml.user;

データは1つの関数で使用され、次に私のコンポーネントにも渡されます。そこで、XMLListをリストに表示しようとすると(dataProviderとしてtestListを使用)、次のエラーが発生します。

TypeError:エラー#1034:型強制に失敗しました:XMLList@68ffa01をmx.collections.IListに変換できません。

おそらくnoobエラーだと思いますが、助けていただければ幸いです。

4

2 に答える 2

4

E4X式は、一致するXMLのリストを返します。すべての要素xml.userのXMLListを提供します。を実装するをuser使用して結果をラップし、データプロバイダーとして使用できます。XMLListCollectionIList

var xml:XML = new XML(event.result as String);
var list:IList = new XMLListCollection(xml.user);

もう1つのオプションは、XMLListをループして、配列または必要なコレクションに追加することです。ユーザーが1人だけであることが確実にわかっている場合は、代わりにこれを行うことができます。

var user:XML = xml.user[0];
于 2012-05-27T22:51:02.187 に答える
1

ロードしたモジュールまたはswf内でこれを使用している可能性があり、ローダーには親とは異なるapplicationDomainがあり、ロードされた他のモジュールまたはswfもXMLListまたはXMLListCollectionを使用しています。アーキテクチャの詳細がなければ、親のapplicationDomainがいずれかの子の前にXMLListやXMLListCollectionに読み込まれることを確認するか、両方が親のapplicationDomainを共有することを確認することしかできません。

于 2012-05-28T01:53:53.360 に答える