タグ

2008年1月10日のブックマーク (2件)

  • RubyでXML操作: Netsphere Laboratories

    Warning. (2019.1) REXML は, 標準添付ですが, 品質・速度の両面であまりよくありません。Nokogiri (鋸) がメジャーで、長らく標準の地位で使われています。REXML の3倍速い。 最近は, 大鋸 (おが) の人気が高い。スレッドセーフ、高速、機能性もある。Yorick Peterse / oga · GitLab REXMLの特徴 REXMLは、 XML 1.0に準拠した、高速なXMLパーサで、DOMツリーを生成したり、XML文書を読みながらコールバックさせる (SAX2ストリームパーサ) ことができる。 XPathの実装を含み、検索式によってDOMツリーの好きな要素を取り出すことができる。 Ruby 1.8.5にはREXML 3.1.4が添付されている。チュートリアル、APIリファレンスは下記で見られる。が、APIリファレンスのほうは不十分かつ誤りもある。

  • Life is beautiful: オブジェクトを次々に渡す「Ruby Filter」ってどうだろう

    Rubyに慣れようと、コマンドライン・ツールなどを作ってみることにしたのだが、すでにUnixに存在しているgrepなどを作っても仕方がない。そこで、指定したブログのURLからHTMLページをHTTP GETで取得し、それをパースしてATOMやRSSフィードのURLを見つけて、それをさらにHTTP GETで取得してタイトルだけ表示する、というツールを作ってみることにした。 できるだけRubyらしい作り方をしようと思いついたのが「Ruby Filter」。Unixのフィルターのようにそれぞれは単一の機能を持ったプログラムをパイプでつなげて複雑なことをさせる。ただし、フィルターからフィルターに渡すものは単なるテキストではなく、オブジェクトのテキスト表現だ(次のフィルターはそのテキストをevalしてから入力として利用する)。 上のブログのURLからRSSフィードを取り出すケースだと、 parseU