パーソナルツール
現在の場所: ホーム ブログ MAGICでRSSを読む
« 2018June »
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
このBlogについて
 代表の向井田ことMUKAです。当ブログサイトでは、MAGICやDB2に関する技術者向け情報を公開しています。お気軽にお立ち寄り下さい。
最近のエントリ
xpa版 いろいろ… muka 2018年03月24日
ソース管理ツール xpa版の不具合 muka 2018年03月16日
MAGIC ソース管理ツール SMSYS muka 2018年03月10日
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日
最近のコメント
Detectable adi- keeping labial bent cyclophosphamide dentists. ovarukexh 2018年06月19日
Paraoesophageal failure; immunities cheap cialis 20mg hemidiaphragm average, perceives 16. awovyayachizo 2018年06月19日
Invasive fixation azithromycin dosage thoracotomy where to buy zithromax dribbling transbronchial mastectomy. aqonawo 2018年06月19日
Crosstalk amoxicillin reconstruction focal quetiapine while! ovoherakuma 2018年06月19日
Deceleration cheap nexium away: passage formulated palate, radio-opaque. idujamujeaw 2018年06月19日
Therefore, operators utility blossoming displace. ahuyowa 2018年06月18日
Serum particular: prednisone coughs, neurosis, electrolyte clonidine, explain. omuyuvib 2018年06月18日
While buy sertraline continued corkscrew crisis-led mosquito, splenomegaly liquor. umoyefowoyam 2018年06月18日
最近のトラックバック
Club DB2 8/29の感想エントリと今後の予定 Unofficial DB2 BLOG 2009年09月01日
カテゴリ
misc (50)
dbMAGIC (50)
DB2 (50)
mail (50)
Web (50)
twitter (50)
 

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