Flex、AIR、Java、Androidなど

1月25日 2009

FlexのHTTPServiceのXML変換プロセスを拡張する

Posted by: tachibana In: プログラミング

xml

mx.rpc.http.HTTPServiceは、指定されたURLにHTTPリクエストを送信し、返ってきた結果を指定された型に変換し、ResultEventとして返します。

何も指定しない場合はフレームワークにより自動的にツリー状のオブジェクトに変換され、ご親切にラッパーまでつけた状態で代入できるので便利なのですが、場合によってはこの変換プロセスを拡張してやりたい時もあるでしょう。

で、メモ。

HTTPServiceでresultFormatプロパティに何も指定しない、もしくはobjectを指定した場合は、mx.rpc.xml.XMLDecodermx.rpc.xml.SimpleXMLDecoder内のdecodeXML(XMLNode)がXMLをObjectに変換する関数として呼ばれます。

ここはHTTPServiceのXMLDecodeプロパティに指定可能なので、継承したを作るか自分で関数を書いてそれを指定してやることでこのプロセスを定義してやることができるようです。

しかしこのXMLDecoder、2400行もあるのでざっと見てみるだけでも一苦労です(苦笑)
SimpleXMLDecoderは簡単な内容なので弄りやすいと思います。

ただSimpleXMLDecoderでやるとタグの[ 属性:値 ]が[ 子要素:子要素の中身 ]と同じように扱われてしまう(両方ともそのオブジェクトのプロパティとして格納される)ので、ここを属性は属性としてべっこにするように作りたいんですよね。

Web::ScraperだとCSSタイプセレクタでも切れるのでここも何とか自由にいじれるようになっておきたいものです。

EasyFreeAds Blog News Facebook Twitter Myspace Friendfeed Technorati del.icio.us Digg Google Yahoo Buzz StumbleUpon

Tags:

No Responses to "FlexのHTTPServiceのXML変換プロセスを拡張する"

Comments are closed.

Categories

 

2017年10月
« 4月    
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

About

Author: tachibana

  • ちょっとしたことはTwitterに書いています。こっちはアプリの公開等の時に更新されます。
  • 最近はもっぱらJavaとObjective Cです。AS3は飽きました。
  • スクリプト言語ではPerlが好きでしたが最近はGAE/Jで何でもやってます。
  • Linuxは自宅サーバー建てるのがやっとのレベルです。前の会社で何日も徹夜してやったのはいい思い出です。
  • アプリへのご要望などご意見等ありましたらお気軽にご連絡下さい。

Alternative content here