もういくつ寝るとお正月?日本の皆さん、 お正月の用意はできましたか? 毎日タコ焼きの鉄板を持ち上げているので、 更にパワフルに変身したタコ焼き仮面です。 残念な事に、タコ焼き仮面はrubyconf.には参加は出来ませんでしたが、 この場をお借りして、皆さんに感謝させて頂きます。 来年のruby kaigi in Tsukubaで皆さんにお会いできる事を楽しみにしています。 では、良いお年をお過ごしください。 nokogiri version 1.4.1 が、遂にリリースされました * <http://nokogiri.org/> * <http://github.com/tenderlove/nokogiri/wikis> * <http://github.com/tenderlove/nokogiri/tree/master> * <http://groups.google.com/group/nokogiri-talk> * <http://github.com/tenderlove/nokogiri/issues> Nokogiri はHTMLとXMLとSAXとXSLTとReaderのパーサーです。とりわけ重要な特徴は、 ドキュメントをXPathやCSS3セレクター経由で探索する機能を持つことです。 XMLは暴力に似ている - XMLが君の問題を解決しないとしたら、君はXMLを十分に 使いこなしていない事になる。 Changes: ### 1.4.1 2009年12月10日 * 新しい機能 * Nokogiri::LIBXML_ICONV_ENABLED を追加 * Node#attr は Node#[] のエイリアス定義に変更 * XML::Node#next_element を追加 * 直接の子ノードを検索するための Node#> を追加 * XML::NodeSet#reverse を追加 * 以下のfragment supportを追加 Node#add_child Node#add_next_sibling Node#add_previous_sibling Node#replace * XML::Node#previous_element を追加 * nokogiriがRubinius でサポートされるようになった * CSS selector の :has() が使用可能になった * XML::NodeSet#filter() を追加 * XML::Node.next= は add_next_sibling の alias へ変更 * XML::Node.previous= は add_previous_sibling の alias へ変更 * バグの修正 * XMLのフラグメントに名前空間が存在する場合のみ、DocumentFragmentを作る際に、 例外が投げられなくなった * DocumentFragment内で子ノードが存在する場合、 Node#matches?が機能するようになった GH #158 * Documentは add_namespace()を限定すべきではないので削除GH #169 * XPath クエリは名前空間の宣言を変換するがsegvではない。 * Node#replace は他のドキュメントのノードが使えるようになった * XML::Document#collect_namespaces を追加 * SOAP4R のアダプター内のバグ修正 * XML::Node#next_element 内のバグ修正 * WindowsでのJRuby の LOAD_PATH を修正 GH #160 * XSLT#apply_toは "output method"の値を使用する(richardlehaneに感謝) * 新しい文字列の先頭にくるテキストノードを含んだフレグメントが 正確に 解析出来るようになった GH #178 ## FEATURES: * XPath による探索 * CSS3 のセレクターによる探索 * XML/HTMLのビルダー XML/HTMLの高速な解析と探索検索、ならびにCSS3セレクタとXPathをサポートしています。 スピードテスト: * http://gist.github.com/24605 ## SUPPORT: 日本語でNokogiriの {メーリングリスト}[http://groups.google.com/group/nokogiri-list] * http://groups.google.com/group/nokogiri-list {バグ報告}[http://github.com/tenderlove/nokogiri/issues] * http://github.com/tenderlove/nokogiri/issues IRCのチャンネルはfreenodeの #nokogiri です。 ## SYNOPSIS: require 'nokogiri' require 'open-uri' doc = Nokogiri::HTML(open('http://www.google.com/search?q=tenderlove')) #### # Search for nodes by css doc.css('h3.r a.l').each do |link| puts link.content end #### # Search for nodes by xpath doc.xpath('//h3/a[@class="l"]').each do |link| puts link.content end #### # Or mix and match. doc.search('h3.r a.l', '//h3/a[@class="l"]').each do |link| puts link.content end ## REQUIREMENTS: * ruby 1.8 or 1.9 * libxml2 * libxml2-dev * libxslt * libxslt-dev ## INSTALL: * sudo gem install nokogiri -- Aaron Patterson http://tenderlovemaking.com/