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はなかなか手強い。