banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

flashASによるリモートサーバーからのXMLデータの読み取りと解析の実現

日曜日、CG はインターネット上の友人からの問題を受け取りました。サーバーから動的に生成されたデータをフラッシュアクションスクリプトを使用して読み取り、解析し、ユーザーインターフェースに表示する小さなプログラムのコードを今日共有します。実装プロセスは非常に簡単で、初心者の学習に役立ちます。また、ベテランの方からの指摘も歓迎します。

要件:BS 構造の下で、クライアントはフラッシュを使用してサーバーから動的に生成された XML 形式のデータを読み取り、取得したデータを解析してインターフェースに送信する。

XML 形式:

? ??? sdfsdf ??? 2009-10-10 ??? 2009-10-01 ??? 56456 ??? 良好 ??? ? ? ??? dfgdfgdfg ??? 2009-10-10 ??? 2009-10-01 ??? 23 ??? 良好 ??? ?

単一のユーザーオブジェクトに解析し、Array に保存する必要があります。ユーザーオブジェクトには XML のデータを含むプロパティが含まれます。

主なコード:

package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.xml.*;

public class FlashXml extends Sprite
{
//UserInfo ビジネスオブジェクトのインスタンス
private var bui = new BUserInfo() ;
//XML キャッシュ
private var XmlData;
// ユーザーリスト
private var userList;

//constructor
public function FlashXml() {
  //XMLをロードする
  loadXml();
}
/\*\*
\*メソッド名:loadXml
\*機能:外部のXMLデータをロードする
\*/
private function loadXml():void{
  var loader:URLLoader = new URLLoader();
  //Loaderのイベントリスナーを設定する
  configureListeners(loader);
  //URLリクエストオブジェクト、URLは設定クラスから取得する
  var request:URLRequest = new URLRequest(ApplicationConfig.RequestURL);
  try {
    loader.load(request);
  } catch (error:Error) {
    trace("XMLの読み込みエラー.");
  }
}

/\*\*
\*メソッド名:configureListeners
\*機能:オブジェクトのイベントリスナーを設定する
\*/
private function configureListeners(dispatcher:IEventDispatcher):void {
  //ロード完了
  dispatcher.addEventListener(Event.COMPLETE, completeHandler);
  //読み取り完了イベントの設定
  dispatcher.addEventListener(Event.COMPLETE, completeHandler);
  //セキュリティエラーとIOエラーをキャッチする
  dispatcher.addEventListener(SecurityErrorEvent.SECURITY\_ERROR, securityErrorHandler);
}

/\*\*
\*メソッド名:completeHandler
\*機能:XMLデータの読み込み完了後の処理
\*/
private function completeHandler(event:Event):void {
  var loader:URLLoader = URLLoader(event.target);
  this.XmlData = new XML(loader.data);
  userList = bui.GetUserInfoList(XmlData);
  this.XmlParse()
}

/\*\*
\*メソッド名:securityErrorHandler
\*機能:Flashのセキュリティ設定制限
\*/
private function securityErrorHandler(event:SecurityErrorEvent):void {
  trace("セキュリティエラー: " + event);
}

/\*\*
\*メソッド名:ioErrorHandler
\*機能:IOエラー
\*/
private function ioErrorHandler(event:IOErrorEvent):void {
  trace("IOエラー: " + event);
}

/\*\*
\*メソッド名:XmlParse
\*機能:XMLの単純なテストの解析
\*/
private function XmlParse():void {
  //ユーザーアレイの反復処理
  for each(var user:UserInfo in userList){
    trace(user.getUid());
    trace(user.getTitle());
    trace(user.getBeginTime());
    trace(user.getEndTime());
    trace(user.getCurrentMoney());
    trace(user.getState());
    trace(user.getIsMember());
  }
}

}
}

コードの説明:UserInfo はユーザーのすべての情報を含むエンティティクラスであり、BUserInfo は UserInfo エンティティのビジネスレイヤーの基本的なビジネスクラスであり、すべてのユーザーリストを返す GetUserInfoList () メソッドが含まれています。詳細は、完全なソースコードを参照してください。

完全なソースコードのダウンロードリンク: http://www.lidaren.com/code/FLashXML/src.zip

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。