パーソナルツール
現在の場所: ホーム ブログ MAGICでRSSを読む
« 2018January »
Su Mo Tu We Th Fr Sa
  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      
このBlogについて
 代表の向井田ことMUKAです。当ブログサイトでは、MAGICやDB2に関する技術者向け情報を公開しています。お気軽にお立ち寄り下さい。
最近のエントリ
twitter / 新RT機能を英語モードで・・・ muka 2009年11月19日
twitter / List Widget muka 2009年11月03日
twitter API / Retweet の仕様が・・・ muka 2009年10月30日
twitter API / Lists muka 2009年10月24日
IBM Rational Software Conference 2009 と アジャイル開発 muka 2009年10月08日
twitter API / geoタグ! muka 2009年10月01日
Twitter Developers Meetup in Tokyo muka 2009年09月11日
Club DB2 2009/9/4 muka 2009年09月05日
最近のコメント
Re:Club DB2 2009/8/29 muka 2009年09月01日
Re:Club DB2 2009/8/29 SIM 2009年08月31日
最近のトラックバック
Club DB2 8/29の感想エントリと今後の予定 Unofficial DB2 BLOG 2009年09月01日
カテゴリ
misc (47)
dbMAGIC (47)
DB2 (47)
mail (47)
Web (47)
twitter (47)
 

MAGICでRSSを読む

 なんか最近、RSS付いてまして、新しくリリース予定のプログラムに「RSSを読み込む機能を付けたら便利かな?」なんて考え、ちょっとプログラムしてみました。下がその画面です。


magic_rss.jpg


 MAGICでRSSを読むには、Blob項目を「HTTPGet (url,head...)」で更新し、それをXMLダイレクトアクセスで処理すればOKです。(実際はBlobを更にファイルに出力してそれを指定したんですけど、「項目」でも読めたような気もする・・・。けど、うまくいかなかった・・・。)
 urlは自分のサイトのRSS2.0のファイル(http://www.eternaldesign.jp/index.xml)で、今のところここしか読まないのですが、RSSの書式は共通ですから、ひとつ共通プログラムを作っておけばどんなサイトでも取得できますね。(RSSリーダーが出来る)

 さて、実際の読み方ですけど、チャンネルの情報(タイトル、リンク、記述、言語、イメージ・・・等)は、「XMLGet (0,1,'rss.channel.title')」とか、「XMLGet (0,1,'rss.channel.link')」のように指定して取得します。
 アイテムの情報は、子タスクを作ってループさせ、メモリテーブルに書き出します。更新の逆順で並んで列挙されてますから、それを順に読んでいけばOKです(勿論、更新時刻「pubDate」で並べ替えても良いんですが・・・)。一つ変数を作ってまわせばOKです。それぞれの項目を取得します。タイトルが「XMLGet (1,1,'rss.channel.item['&Trim (Str (変数,'2'))&'].title')」、リンクが、「XMLGet (1,1,'rss.channel.item['&Trim (Str (変数,'2'))&'].link')」というように、読んであげればそんなに面倒ではないですね。

 アイテムを取得した順にテーブルに表示してあげれば一覧が表示されます。作ったプログラムでは、各レコードに付けたボタンをクリックすると、そのページを表示するような仕組みにしてあります。

 画面を見てもらえば分かると思いますが、「分類」とか、「メンバー」とかRSSには無い項目があります。
 自動的にアイテムを出力するような仕様(PloneとZopeがしてくれる)となっているので、ドキュメントだったり、ニュースだったりします。それとポータル全体が対象なので、別製品の情報があったりもします。それらを分類したかったんですが、頼りになりそうなのはURL「rss/channel/item/link」だけだったので、フォルダ名やファイル名で自動的に振り分けるようにしました(うちのサイト専用の仕様ですね)。それと、メンバーしか見れないページも一緒に出てしまうので、それは色分けしてみました。
 こういったところも元のxmlのスキーマでなんとかできると良いですね。

 ということで、次のバージョンから実装されます。「RSS情報」というタブを押したときに、このサイトに接続しますので、予めご了解ください。

P.S
 RSSを公開してしまうと、ちょっとした修正でも、いじったことがバレてしまいますね。まぁしょうがないですけど・・・。w


カテゴリ
dbMAGIC