RSSライブラリlibmrssの使い方メモ

RSS関係のプログラムを書くときの練習ということでlibmrssの使い方を調べてみました。libmrssはLGPLC言語RSSフィードライブラリです。URLを指定すると「1.HTTP-GET」して「2.構造体にパースした結果を代入」してくれるみたいです。

インストール

debian-lennyから追加されたっぽいです、
etch以前の場合はソースからインストールする必要がありそう

$ sudo apt-get install libmrss0-dev

プログラム本体

#include "mrss.h"
#include 

int main(int argc, char* argv[])
{
  mrss_t *rss = NULL;

  if (argc!=2) return -1; // 引数不足

  // オブジェクトの初期化、あんま使われない気が
  //mrss_new(&rss);

  // URLのフィードを取得する、取得した値は構造体に格納
  mrss_parse_url(argv[1], &rss);

  // 中身をみる(取得したらfreeする)、構造体に直接アクセスすることも可能(その場合はfree不要)
  //char *string1, *string2;
  //mrss_get (rss,
  //               MRSS_FLAG_TITLE,          &string1,
  //               MRSS_FLAG_LASTBUILDDATE,  &string2,
  //               MRSS_FLAG_END);

  // 各値を見る
  printf("page-title is   : '%s'\n", rss->title);
  printf("last-moddate is : '%s'\n", rss->lastBuildDate);
  printf("last-item is    : '%s'\n", rss->item->title);

  // mrss専用freeでメモリを開放する
  mrss_free(rss);

  return 0;
}

ビルド方法

$ gcc test.c -o test -lmrss

実行方法の例

$ ./test http://gigazine.net/index.php?/news/rss_atom/
page-title is   : 'GIGAZINE'
last-moddate is : 'Sun, 02 Aug 2009 10:14:59 +0000'
last-item is    : 'USBメモリなどにエラーがないかどうか徹底的にチェックできるフリーソフト「Check Flash」'