« 深海生物ファイル | メイン | 土に潜る人生 »

XMLに悪戦苦闘

某画像DBにも、REST APIの組み込みに挑戦。

出力を、XMLか、JSONにするか悩む。
XMLの場合、Flashなどでも使えるが、JavaScriptでパースするのがちょっと面倒。
JSONの場合、JavaScriptへのハンドリングはらくだけど、Flashには渡せないし、PEARのJSONのライブラリが実は使いづらい。勝手に"/"などがエスケープされてしまう。JSONのコードを調べればいいんだろうけど、マンドクセなので後回し。

まずはXMLで出力してみる。

実はXMLをちゃんと勉強したわけでもなく、最適な構造にするにはどうすればよいのかなどは分からない。
とりあえずベーシックに、

<画像> <サイズ>100</サイズ> <パス>xxx/xxx/aa.gif</パス> </画像>

という構造のXMLにしようかと思ったが、画像に対して、サイズやパスは、「要素」なんじゃないかと悩む。つまり、

<画像 サイズ=100 パス=xxx/xxx/aa.gif/>

と書くべきなのではないか・・と。ツリー構造の下にぶらさげるのか、属性として入れるのか、むずかしいなぁ。この場合は、正式には属性だろうなぁ。
サイズやパスは、画像の「子」ではないからな。

しかし、この方法だとちょっと問題があることがわかった。JSON形式に出力しようとすると、うまく行かない。そもそも、XMLとJSONの構造は対にならない(とおもう)ので、そのままではJSON形式にはできない(と、思う)

最初のベタな構造であれば、JSONにも変換しやすい。

あとは、JavaScript中でXMLのパースをどうするか、、だが、それには、
JKL.ParseXML - ajax 通信処理ライブラリ
のライブラリを使わせてもらった。

非常に簡単で便利・・と思ったら、ちょっとはまった。
ライブラリを組み込んで、呼び出してみるもエラーになる。
シンプルな書式だから間違えようがないのにと思ったら、
ローカルファイルから、httpへの呼び出しはXMLHttpRequestがエラーになるようだ。知らなかった。たとえ127.0.0.1でもダメ。
まぁ、呼び出し側もhttp経由でアクセスしてればOKだったんだけど。

時間切れで完成まではいかなかったけど、だいぶやり方はわかった。
やっぱ、こういうのは作ってハマってなんぼだよなぁ〜

というか、便利なライブラリがってほんと助かった。

トラックバック

このエントリーのトラックバックURL:
http://www.ironhearts.com/diary/mt-tb-ih.cgi/392

コメントを投稿

2008年12月

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

最近のコメント

999 on 日々の記録: 4600Cを業務で使
uta on エラーコード -10660: はぁ〜なるほど。 あ
あんどりゅー on Firefoxでtableをdisplay:blockすると、幅がおかしくなる問題の対処: なるほど! 助かりま
小優 on 日々の記録: DELL4600Cで
よしぞう on 日々の記録: 4600C 表記の対
よしぞう on 日々の記録: 4600C 表記の対
on MySQL後で調べるメモ: DB接続後 目的のS
on 日々の記録: 「無くなった留め具」
on JavaScriptでクロスドメイン: >しかし、こういう小
junp on iMovieで静止画を取り込むと荒い: すいません困ってます

アーカイブ