0

私はASにかなり慣れていません。これを行う方法があると思いますが、それを理解していません。基本的に、xmlを返し、xmlの構造に関係なくオブジェクトを返すサービスを使用しようとしています。.Net ではXmlSerializer.Deserializeクラスを使用しています... AS に相当するものはありますか?

SimpleXMLDecoderを見つけることができましたが、動作させることができないようです。また、ノードでのみ動作するように見えますか? いずれにせよ、そこにある例はまばらで従うのが難しいです.xmlを次のように取得する方法を知りたいだけです:

<?xml version=\"1.0\" encoding=\"utf-8\"?>
<Company>
    <Id>2</Id>
    <Name>Stan</Name>
    <Size>10</Size>
</Company>; 

そして、それをオブジェクトに変換するだけです。これは、独自のパーサーを作成しなくても可能ですか? ありがとうございました。

4

2 に答える 2

5

ActionScript には独自のパーサーがあるため、独自のXMLパーサーを作成する必要はありません。

文字列からの XML

変換する必要がある場合は、次のような数行のコードでインラインStringとして変換できます。XML


import flash.xml.*;

var xml : XML = XML( '<?xml version="1.0" encoding="utf-8"?><Company><Id>2</Id><Name>Stan</Name><Size>10</Size></Company>' );

trace( 'Id:' + xml.Id ); // Should trace "2"
trace( 'Name:' + xml.Name ); // Should trace "Stan"

外部ファイルからの XML

それ以外の場合は、次の方法で実行時にロードできます。


import flash.net.*;
import flash.events.*;
import flash.xml.*;

var xmlLoader : URLLoader = new URLLoader();
xmlLoader.addEventListener( Event.COMPLETE, doStuffWithLoadedXML );

function doStuffWithLoadedXML( e : Event ) : void 
{                             
    var xml : XML = new XML( e.target.data );
    trace( 'Id:' + xml.Id ); // Should trace "2"
    trace( 'Name:' + xml.Name ); // Should trace "Stan"
}

xmlLoader.load( new URLRequest( 'yourfile.xml' ) );

リンクで編集

作業を開始するためのいくつかの素敵なリンク:

基本
http://blog.theflashblog.com/?p=242

E4X のヒントとハウツー
http://www.senocular.com/flash/tutorials/as3withflashcs3/?page=4

お役に立てれば。チャオ!

于 2011-02-08T03:30:52.337 に答える
3

を使用できます。HTTPService

ここに良い例があります...

基本的に、取得時に結果を XML からオブジェクトにシリアル化します。

于 2011-02-08T03:20:31.860 に答える