2006 年 8 月 20 日 23 時 28 分

一覧表の出力


このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。


基本的な所は大体終わった。
最後に、日記の一覧を出力しよう。

日記は別々のファイルとして出力されるので、
ファイル名だけを見ても内容が分からない。
日付とタイトルの一覧をファイルに出力しておけば便利だ。

Excel 等でも扱えるように、UTF-8 のタブ区切りにしよう。
これさえあれば、日記の一覧はすぐに作れるので、
後で一覧のページを作る事も可能になる。

やることは大した作業ではない。
今までどおり、ADODB.Stream を利用すれば良いのだ。

    // 一覧出力用のストリーム
    var list = new ActiveXObject("ADODB.Stream");
    list.Open();
    list.Type = adTypeText;
    list.Charset = "UTF-8";
    list.LineSeparator = adCRLF;

    (中略)

    // 項目を列挙
    while (iterator.hasNext()) {

        (中略)

        // タブ区切りで一覧に項目を追加する
        list.WriteText(date.getFullYear()
                + "/" + (date.getMonth() + 1)
                + "/" + date.getDate()
                + " " + date.getHours()
                + ":" + date.getMinutes().formatLeadingZeroes(2));
        list.WriteText("\t");
        list.WriteText(item.getTitle(), adWriteLine);

    }

    // 一覧を書き出す
    list.SaveToFile(outDir + "list.txt", adSaveCreateOverWrite);

これによって、一覧をテキストで書き出すことができる。

今回はテキスト出力を UTF-8 で統一しているが、
これは別に好きなエンコーディングで出力して構わない。
プログラム処理をすることを考えれば、
Shift_JIS や、EUC-JP を使ってもいいだろう。

今回作ったエクスポータは最少の機能しか備えていないが、
これを応用すればコメントやプロフィールのエクスポート、
さらに日記の追加や編集等、何でも作ることができる。

HTA (HTML Application) を使えば、
GUI も HTML で構築することができるので、
その気になれば専用ビューアなどの、
インタラクティブなアプリも作成することができる。

まあ、やる気があればの話ではあるが。
mixi の仕様も常に最新版を追いかける必要もあるしな。


こういった HTML の動的解析は、
一世代前の Web システムではよく使われていた機能だ。
検索エンジンなど、他のサイトに関する情報を扱う、
2 次的なサービスではまだまだ現役の機能だ。

最近は、XML+XSL ベースによるサービスや SOAP 等、
データ形式を規格化した Web サービスも増えてきたが、
まだまだ数多くのサイトは古い HTML のままなのである。

IP の上に UDP や TCP があり、
昔は、TCP がプラットフォームであった。
そこには色々なプロトコルが誕生してきた。

最近は、何でも HTTP に適合して利用する風潮がある。
例えば、Web メールは、STMP + POP や IMAP、
WEBDAV は、FTP や SMB、AFP からの発展系だ。

また、各社 Messenger や Skype 等、
HTTP の 80 番のポートを使い、
通信内容に独自仕様のプロトコルを乗せる物もある。
最近は HTTP がプラットフォームとなっているのである。

まあ、ニュース系 Web サイトを NNTP フィードしたり、
Web メール専用の Web サイトに、
SMTP や POP、または IMAP の皮を被せたりと、
時代に逆行するようなことをやってもいいのだが……

今後、DNS over HTTP などが出てくるのだろうか。
Web にはまだまだ研究材料がありそうである。



Copyright (c) 1994-2007 Project Loafer. All rights reserved.