久しぶりにお仕事関連のメモです。
FlashでRSSを表示させる基本?メモ
HTMLというか、普通にPHPでRSSを表示させるには、
Magpieっていうのを使えばすんなり出来るんですが(日付の変換がちょっと厄介ですが)、
Flash上で表示させるのはやったこと無くて、今度仕事でやるみたいなので予習してみた。
基本的にFlashでは別ドメインにアクセス出来ないので、間にPHPをかます。
PHPでRSSを読みに行ってもらい、その読み込んだファイルをFlashに渡すという流れ。
今回はこのブログのRSS情報の最新エントリーのタイトル、日付、そしてタイトルにそのエントリーへのリンクをFlash上で表示させるようにしてみる。
まずFlashでは下図のように作ってみる

■1フレーム目のフレームスクリプト
myxml = new XML();
myxml.onLoad = LoadXML;
// PHP
myxml.load("readrss.php");
//
myxml.ignoreWhite = true;
function LoadXML(success) {
if (success == true) {
_root.blogtitle.text = myxml.firstChild.childNodes[0].childNodes[8].childNodes[0].firstChild.nodeValue;
_root.blogurl.text = myxml.firstChild.childNodes[0].childNodes[8].childNodes[2].firstChild.nodeValue;
_root.blogtitle.htmlText = "<a href='"+_root.blogurl.text+"'>"+_root.blogtitle.text+"</a>";
_root.blogdate.text = myxml.firstChild.childNodes[0].childNodes[8].childNodes[5].firstChild.nodeValue;
_root.blogdate.text = pubDateToDate(_root.blogdate.text);
}
}
this.stop();
※ダイナミックテキストの変数を設定せずに、インスタンス名を設定。
※例えば、ブログタイトルであれば…_root.blogtitle.textで表示されるが、リンクを設定したいのでブログタイトルは、_root.blogtitle.htmlTextにし直す。
※pubDateToDate(_root.blogdate.text);というのはエントリー日付の表示を変える関数で、今回そのAction Scriptは省いてます。
あとはPHPファイル(readrss.php)ですが、これはシンプルに
<?php
readfile("http://www.k1factory.biz/blog/index.xml");
?>
これだけです。
これで試しにアップしたのが、こちら