SXMLでRSSタイトル一覧
30分プログラム、その384。id:Gemma先生が話してたSXMLを使って、タイトルをリストアップしてみた。単に、SXPathが使ってみたかっただけ。
SXPathを作ったあとに、それをSXMLに適用すると結果がもらえるのはおもしろい。毎回、 XPathをパースする手間がないんだろうなぁ。
;; sxpathを作る (define xp (sxpath '(// rss:item rss:title *text*))) ;; sxpathを適用する (xp sxml)
使い方
$ gosh 2008-10-07-224205.scm rss [Scala][30分プログラム]文字の種類カウント付きwc [OCaml][日記]OCamlのストリームパーサーすごい [zsh]cdしたあとにls [Python][30分プログラム]カエサル暗号 [w3m]w3mでもスマートキーワード [w3m]OperaのShift+矢印をw3mにも [Perl][30分プログラム]PODを使ったHTML化 [Scala]もう一つの三項演算子 [Erlang][30分プログラム]OTPを試す
ソースコード
#! /opt/local/bin/gosh ;; -*- mode:scheme; coding:utf-8 -*- ;; ;; 2008-10-07-224205.scm - ;; ;; Copyright(C) 2008 by mzp ;; Author: MIZUNO Hiroki / mzpppp at gmail dot com ;; http://howdyworld.org ;; ;; Timestamp: 2008/10/07 22:42:09 ;; ;; This program is free software; you can redistribute it and/or ;; modify it under MIT Lincence. ;; (use sxml.ssax) (use sxml.sxpath) (define (main args) (let1 sxml (ssax:xml->sxml (open-input-file (cadr args)) '((rss . "http://purl.org/rss/1.0/"))) (map print ((sxpath '(// rss:item rss:title *text*) ) sxml))))