JAVAC.JP
HOSHI TETSUYA 星鉄矢
2005/07/25
hossy@javac.jp
http://www.javac.jp
Google
WWW を検索 WWW.JAVAC.JP を検索

4-1 XML通信

外部データの扱いには、XMLを用いると便利である。柔軟な階層構造を取れることや、ノードの追加削除の簡便さ、パラメータの追加削除にも柔軟に対応できる。
FlashではXMLを扱うためのクラス、XMLクラスが用意されている。このクラスは、パーシングの機能や各階層構造に対する読み書き、送受信など、XMLに関わる様々な機能をサポートしている。(また、XMLNodeクラスというものもあり、XMLクラスはXMLNodeクラスを継承したものである。XMLのパーシング・階層構造へのアクセスなどはXMLNodeクラスから継承したものである。要素の作成や送受信のメソッドなどはXMLクラスで付加されたものである。)

例えば、以下のXMLを考える。
サーバから、会員のデータセットを送られて来たものと想定する。
GetUsersInfo.cgi
---
<?xml version="1.0" encoding="UTF-8" ?>
<userlist>
    <user id="JVM203763" name="taku"  age="23" sex="M" occupation="engineer"    />
    <user id="JVM105742" name="keiko" age="24" sex="F" occupation="teacher"     />
    <user id="JVM102325" name="nobu"  age="26" sex="M" occupation="advertising" />
    <user id="JVM203577" name="aki"   age="19" sex="F" occupation="student"     />
    <user id="JVM209326" name="gon"   age="28" sex="M" occupation="researcher"  />
</userlist>
Flashで用いるXMLはW3CのDOMに準拠した形を用いることが多いです。
これは、ノードに対してattributesプロパティを読むだけで、任意のObject型に変換するという性質をFlashのXMLクラスは持っているからです。
上記のXMLをロードするソースは、以下のようになります。
var x:XML=new XML();
x.ignoreWhite=true;
x.onLoad=function(){
    trace(this.toString());
}
x.load("GetUsersInfo.cgi");
stop();
もちろん内容をそのままtraceしていただけでは意味がありませんので、必要に応じて情報を抜き出します。
次ページに、上記のCGIから送られて来たXMLデータをDataStorageに格納し、リクエストに応じて該当ユーザのデータを表示するサンプルを掲載します。



BACKTOPNEXT




All Contents Copyright (C) 2005 HOSHI Tetsuya
Home