2010-02-22

ActionScript3.0でのXML操作  [by miyachi]

Flashに組み込むActionScript3.0でXMLの扱いを勉強。なんと文字列としてでは無く直接代入が出来ることに感動。例えば以下。

 var xml:XML = <data>coffee</data>;

でもふと困った。例えば上例だと coffee としている箇所を文字列変数を使いたい場合どうすれば? ヘルプを見ても良く分からなかったけど検索して発見。ちょっと見つけにくかったのでここにも書いておきましょう。

結論から言えば波括弧 { } で括れば変数の値をそのまま使ってくれるそうです。例えば以下。

 var drink:String = "tea";
 var xml:XML = <data>{drink}</data>;

これは楽だ。あと当然ながらノードや要素のリプレース等も出来るが独自すぎてDOM等に慣れていると逆に分かり難い面も。何にせよActionScriptは独自の世界だなぁ。

[追記]
ActionScript3.0からURLRequestとURLLoaderを使ってHTTP通信のプログラミング。登録コマンドを送って再読み込みコマンド…あれ?反映されていない?ブラウザからチェックしてみると登録されている。?????

暫く何が悪いか分からず時間を無駄にしてしまいました。調べてみるとどうやら強力にキャッシュされてしまいサーバに接続しないで古い内容が戻って来ているらしい。これを避けるにはなんとURLの最後に乱数を付けて毎回異なるURLにアクセスしていると思わせる方法が一般的のようです。

と言うことで以下のように現在時刻のミリ秒をダミーとして引数に与える事で解決。

 var urlReq:URLRequest = new URLRequest();
 urlReq.url = url + "?dummy_number=" + new Date().getTime();

え~い時間を返せ(^^; ActionScript3.0はなかなか手強い。

2010-02-22 10:52:18 - miyachi - [プログラミング] -

コメント一覧

コメント無し

コメントを書く

このアイテムは閲覧専用です。コメントの投稿、投票はできません。