<< リファラーの文字コード変換 | main | YWSの画像検索Webサービス >>

2007.03.09 Friday

XMLをキャッシュ

ちょっと前の記事で、
AmazonWebServiceのXMLがPearのCache_Liteでキャッシュできないんだよなあ・・・
と書いていたのですが、
Cache_Lite::save
マニュアルを参照すると、出来なくて当然。
引数が、stringですね。
マニュアルは、よく読め、と。
--

そこで、
stringでデータ取得できる、
file_get_contentsの戻り値をキャッシュしたら、無事キャッシュできました。
キャッシュデータをXML_RSSに食わせたら、ちゃんとパースしてくれたので、動作的にも問題なし、ということで、今後はこの方法でいこうかな、と。
まあ、実際に食わせたのは、再度ファイルに書き込んだ中間ファイル、ですが。
(XML_RSSはstringを読めないため)

simplexml_load_stringでは、stringデータを引数に指定できるので、AmazonWebServiceなどが返す、一般的なXMLデータも、この方法で処理できます。(中間ファイルは不要)
ただ、RSSに埋め込まれているHTML(content:encoded)がパースされないのが謎だ。
コロン付きって、simplexmlでは、認識されないのか?

実例とサンプル(ソース付き)は、
ウェザーマップで遊んでみる
に、まとめてあります。
ちなみに、RSSに埋め込まれているHTML(content:encoded)の表示サンプルも兼ねています。

--

テクノラティお気に入りに追加する

Comments

コメント入力は停止しています

海外からと思われるコメントスパムが横行しているため、全記事のコメント入力を停止しています。メッセージのある方は、ホームページの一番下に連絡欄がありますので、そちらからお願いします。

Trackback URL

トラックバックする場合は、
トラックバック元の記事にこのエントリへのリンクを記載してください
このエントリのタイトル「XMLをキャッシュ」
このエントリのリンク「http://kommy.s254.xrea.com/blog/log/eid22.html」