| Home 概要 チュートリアル リンク |
Home > チュートリアル > XMLデータを利用した通信1XMLデータを利用した通信1XMLSocketの仕様では、通信データにXML形式を使用することになっています。またFlashは、XMLを操作する機能をもっているため、XMLデータを容易に扱うことができます。この項ではScriptSockletで、簡単にXML操作を行う方法を紹介します。XMLの生成と送信ここでは最も基本的な操作であるXML文の生成とユーザーへの送信を行います。ユーザー接続時に<CONNECT />というXML文を生成し、それを接続したユーザーに送信します。
//コード例 simplexml1.js
//gpssのSimpleXMLCreatorユーティリティークラスを
//変数XMLに割り当て
XML = Packages.jp.wda.gpss.util.SimpleXMLCreator;
function onConnect(client){
//<CONNECT/>を生成
var xml = new XML("CONNECT");
//ユーザーに送信
client.send(xml);
//接続を継続
return true;
}
simplexml1.jsをGPSS/scriptsディレクトリに保存し、複数のtestClient.swfでSocklet "simplexml1"に接続して、"<CONNECT />"が表示されていれば成功です。・XML = Packages.jp.wda.gpss.util.SimpleXMLCreator; JAVAのクラスは、"Packages."につづいて"JAVAパッケージ名.クラス名"をつなげることで利用します。 またクラス名を変数に割り当てることで、利用を容易に行うことができます。ここでは"XML = Packages.jp.wda.gpss.util.SimpleXMLCreator;"としています。それによりXMLという短い名前でSimpleXMLCreatorクラスを利用できるようにしています。 ここでは、このようにはじめに書くことでXMLオブジェクトが利用できるようになる、と単純に捕らえても良いでしょう。 ・xml = new XML("CONNECT"); new SimpleXMLCreator("タグ名") とすることでXMLルートエレメントを生成します。その際エレメントのタグ名が、コンストラクタの引数の値に設定されます。この場合、上記のクラス割り当て処理を行ってあるため、new XML("タグ名")という簡素な記述が行えます。 生成したXMLオブジェクトはxml変数に割り当てています。 XMLの解析と操作ここでは、ユーザーから送られたXMLを操作するのに必要な、XML文の解析と操作を行います。ユーザーからデータが送られたときに、XML文を解析して、XMLタグ名を変更し、ユーザーに送り返します。送信されたXML文が、正常に解析できなかった場合は、接続を切断します。
//コード例 simplexml2.js
//gpssのSimpleXMLCreatorユーティリティークラスを
//変数XMLに割り当て
XML = Packages.jp.wda.gpss.util.SimpleXMLCreator;
function onCommand(client, Command){
//ユーザーから送られたXMLを解析
var xml = XML.parse(Command);
//XMLを解析できなかった場合は切断
if(xml == null){
return false;
}
//ルートタグ名をRESPONSEに設定
xml.setName("RESPONSE");
//XML属性の設定(追加)ここでは from="server"
xml.setAttribute("from", "server");
//ユーザーに送信
client.send(xml);
//接続を継続
return true;
}
・xml = XML.parse(Command);XML文を解析して利用可能にするためには、SimpleXMLCreatorクラスのparse("XML文")メソッドを利用します。解析できた場合はSimpleXMLCreatorクラスによるXMLオブジェクトを返します。また解析に失敗した場合にはnullを返します。 ・xml.setName("RESPONSE"); XMLタグのタグ名を変えるためにはsetName("タグ名")メソッドを利用します。 ・xml.setAttribute("from", "server"); XML属性を設定・追加するためにはsetAttribute("属性名", "属性値")メソッドを利用します。 前へ|次へ 現在このサイトを人の方がみています
|