0

を使用して、手動で XML をチェックしたり、クラスを作成したりせずに、XML ファイルを Flex のクラスにデシリアライズすることは可能HttpServiceですか?

編集:もう少し詳しく説明しました。

以下を含む XML ファイルがあります。

<Project>
 <Name>NameGoesHere</Name>
 <Number>15</Number>
</Project>

Flex では、これを Project クラスにシリアル化する必要があります。

package com.examplepackage
{
    import mx.collections.ArrayCollection;

    [XmlClass]
    public class Project
    {
        public var Name:String;
        public var Number:int;  

        public function Project()
        {
        }
    }
}

XML は HTTPService でロードされます。

4

3 に答える 3

1

Flex でオブジェクトを自動的にシリアライズおよびデシリアライズするには、ある種の WSDL または RPC プロトコルが必要です。そのため、XML データのデシリアライズに使用する WSDL を指定するか、AMF やその他のプロトコルを使用するか、httpservice が直接返す MIME タイプを操作する必要があります。

編集: 独自の一連のクラスを設定して、xml オブジェクトの逆シリアル化を処理できます。AMF サービスが機能する方法は、最初に返されたオブジェクトをmx.utils.ObjecProxyインスタンスにデシリアライズし、次に のtype属性をObjectProxy既存のものと照合しRemoteClass、クラスのプロパティをPropertyList動的Objectプロパティの値に初期化することです。型の XML ルートとプロパティと値の子ノードを調べて、ObjectProxy を作成する独自のクラス セットを設定し、オブジェクト プロキシに基づいて AS クラスをインスタンス化できます。ただし、XML を直接処理するためのコードを記述しなければならないことを回避することはできません。

于 2009-11-26T15:52:27.893 に答える
0

これも試して、xmlをオブジェクトに逆シリアル化します。

http://ahmadflex.blogspot.com/2010/05/desrializing-helper-class-xml-to-object.html

于 2010-05-05T16:12:49.147 に答える
0

FlexXB ( http://code.google.com/p/flexxb )などの xml シリアル化ライブラリを試してみることをお勧めします。注釈を使用して (逆) シリアル化プロセスを自動化し、結果の xml を適切に制御できるようにします。

于 2010-03-06T00:27:52.177 に答える