2010-05-01から1ヶ月間の記事一覧

hpricot:Hpricot::Container::Trav#next_sibling

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.at('p').next_sibling => {elem <p> "foo2" </p>} >> doc.search('p')[1].next_sibling => nil >> doc = Hpricot('<p>foo1</p><p>foo2</p><p>foo3</p>') => #

hpricot:Hpricot::Container::Trav#insert_before

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p><p>foo3</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>} {elem <p> "foo3" </p>}> >> doc.insert_before(doc.search('p')[2], doc.at('p')) => {elem <p> "foo3" </p>} >> doc => #<Hpricot::Doc {elem <p> "foo3" </p>} {…

hpricot:Hpricot::Container::Trav#insert_after

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.insert_after(doc.search('p')[1], doc.at('p')) => {elem <p> "foo2" </p>} >> doc => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>} {elem <p> "fo…</p>

hpricot:Hpricot::Container::Trav#get_elements_by_tag_name

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.get_elements_by_tag_name('p') => #<Hpricot::Elements[{elem <p> "foo1" </p>}, {elem <p> "foo2" </p>}]> >> doc = Hpricot('<p>foo1</p><p>foo2</p><b>foo3</b>') …

hpricot:Hpricot::Container::Trav#get_element_by_id

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.get_element_by_id('p') => nil >> doc = Hpricot('<a id=0><b><a id=1 /></b><c id=2 /></a>') => #<Hpricot::Doc {elem <a id="0"> {elem <b> {emptyelem <a id="1">…</a></b></hpricot::doc>

hpricot:Hpricot::Container::Trav#following_siblings

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.at('p').following_siblings => #<Hpricot::Elements[{elem <p> "foo2" </p>}]> >> doc = Hpricot('<p>foo1</p><p>foo2</p><p>foo3</p>') => #<Hpricot::Doc {elem <p>…</hpricot::doc>

hpricot:Hpricot::Container::Trav#find_element

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.find_element('p') => {elem <p> "foo1" </p>} >> doc.find_element('a') => nil >> doc = Hpricot('<p>foo1</p><b>foo2</b>') => #<Hpricot::Doc {elem <p> "foo1" </hpricot::doc>

hpricot:Hpricot::Container::Trav#filter

さっぱり分からず… >> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.filter {|x| x == "p"} NameError: undefined local variable or method `to_node' for #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> fr…

hpricot:Hpricot::Container::Trav#each_uri

なぜか Universal name がうまく使えないので小細工をして require "hpricot" module Hpricot module Container::Trav def each_hyperlink_attribute traverse_element( 'a', 'area', 'link', 'img', 'object', 'q', 'blockquote', 'ins', 'del', 'form', 'i…

hpricot:Hpricot::Container::Trav#each_hyperlink_uri

なぜか Universal name がうまく使えないので小細工をして require "hpricot" module Hpricot module Container::Trav def each_hyperlink_attribute traverse_element( 'a', 'area', 'link', 'img', 'object', 'q', 'blockquote', 'ins', 'del', 'form', 'i…

hpricot:Hpricot::Container::Trav#each_hyperlink

なぜか Universal name がうまく使えないので小細工をして require "hpricot" module Hpricot module Container::Trav def each_hyperlink_attribute traverse_element( 'a', 'area', 'link', 'img', 'object', 'q', 'blockquote', 'ins', 'del', 'form', 'i…

hpricot:Hpricot::Container::Trav#each_child_with_index

>> require "hpricot" => true >> doc = Hpricot('<p><b>foo1</b>hoge</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> {elem <b> "foo1" </b>} "hoge" </p>} {elem <p> "foo2" </p>}> >> doc.each_child_with_index {|x, i| p [i, x]} [0, {elem <p> {elem <b> "foo1" </b>} "hoge" </p>}] [1, {elem <p> "foo2" </p>}] => …

hpricot:Hpricot::Container::Trav#each_child

>> require "hpricot" => true >> doc = Hpricot('<p><b>foo1</b>hoge</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> {elem <b> "foo1" </b>} "hoge" </p>} {elem <p> "foo2" </p>}> >> doc.each_child {|x| p x} {elem <p> {elem <b> "foo1" </b>} "hoge" </p>} {elem <p> "foo2" </p>} => nil >> doc.at('p').each_child…

hpricot:Hpricot::Container::Trav#containers

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.containers => [{elem <p> "foo1" </p>}, {elem <p> "foo2" </p>}] >> doc.at('p').containers => [] >> doc = Hpricot('<p><b>foo1</b>hoge</p><p>foo2</p>') => #

hpricot:Hpricot::Container::Trav#classes

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.classes NoMethodError: undefined method `get_attribute' for #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> from /usr/local/ruby-1.8.7/lib/rub…

hpricot:Hpricot::Traverse#xpath

>> require "hpricot" => true >> doc = Hpricot('<p><b>foo1</b>hoge</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> {elem <b> "foo1" </b>} "hoge" </p>} {elem <p> "foo2" </p>}> >> doc.xpath => "/" >> doc.at('*').xpath => "/p[1]" >> doc.search('p')[0].xpath => "/p[1]" >> doc.search('p')[1].xpath => "/p[2]"

hpricot:Hpricot::Traverse#xmldecl?

>> require "hpricot" => true >> doc = Hpricot('<p><b>foo1</b>hoge</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> {elem <b> "foo1" </b>} "hoge" </p>} {elem <p> "foo2" </p>}> >> doc.xmldecl? => false >> doc = Hpricot::XML("") => #<Hpricot::Doc> >> doc.xmldecl? => false >> doc = Hpricot::XML('</hpricot::doc>

hpricot:Hpricot::Traverse#traverse_text

>> require "hpricot" => true >> doc = Hpricot('<p><b>foo1</b></p><p>foo2</p>') => #<Hpricot::Doc {elem <p> {elem <b> "foo1" </b>} </p>} {elem <p> "foo2" </p>}> >> doc.at('p').traverse_text {|e| p e} "foo1" => nil >> doc.search('p').traverse_text {|e| p e} NoMethodError: undefined method `traverse_te…

hpricot:Hpricot::Traverse#traverse_element

まんま >> require "hpricot" => true >> t = Hpricot('<a id=0><b><a id=1 /></b><c id=2 /></a>') => #<Hpricot::Doc {elem <a id="0"> {elem <b> {emptyelem <a id="1">} </b>} {emptyelem <c id="2">} </a>}> >> t.traverse_element("a", "c") {|e| p e} {elem <a id="0"> {elem <b> {emptyelem <a id="1">} </b>} {emptye…</a>

hpricot:Hpricot::Traverse#to_plain_text

>> require "hpricot" => true >> doc = Hpricot('<p><b>foo1</b></p><p>foo2</p>') => #<Hpricot::Doc {elem <p> {elem <b> "foo1" </b>} </p>} {elem <p> "foo2" </p>}> >> doc.to_plain_text => "foo1\n\nfoo2" >> doc.at('p').to_plain_text => "\n\nfoo1\n\n" >> doc.search('p')[1].to_plain_text => "\n\nfoo2\n\n"

hpricot:Hpricot::Traverse#to_original_html

>> require "hpricot" => true >> doc = Hpricot('<p><b>foo1</b></p><p>foo2</p>') => #<Hpricot::Doc {elem <p> {elem <b> "foo1" </b>} </p>} {elem <p> "foo2" </p>}> >> doc.to_original_html => "<p><b>foo1</b></p><p>foo2</p>" >> doc.to_html => "<p><b>foo1</b></p><p>foo2</p>" >> doc = Hpricot('<p><b>foo1</b></p>

hpricot:Hpricot::Traverse#to_html, #to_s

>> require "hpricot" => true >> doc = Hpricot('<p><b>foo1</b></p><p>foo2</p>') => #<Hpricot::Doc {elem <p> {elem <b> "foo1" </b>} </p>} {elem <p> "foo2" </p>}> >> doc.at('p').to_html => "<p><b>foo1</b></p>" >> doc.search('p')[1].to_html => "<p>foo2</p>"

hpricot:Hpricot::Traverse#text?

>> require "hpricot" => true >> doc = Hpricot('<p><b>foo1</b></p>foo2<p>foo3</p>foo4') => #<Hpricot::Doc {elem <p> {elem <b> "foo1" </b>} </p>} "foo2" {elem <p> "foo3" </p>} "foo4"> >> doc.search('*')[0] => {elem <p> {elem <b> "foo1" </b>} </p>} >> doc.search('*')[1] => {elem <b> "foo1" </b>} >> doc…

hpricot:Hpricot::Traverse#swap

id:noritsugu:20100321:Ruby と同じ >> require "hpricot" => true >> doc = Hpricot("That's my <b>spoon</b>, Tyler.") => #<Hpricot::Doc "That's my " {elem <b> "spoon" </b>} ", Tyler."> >> doc.at("b").swap("<i>fork</i>") => [{elem <i> "fork" </i>}] >> doc.to_html => "That's my <i>fork</i>, Tyler."

hpricot:Hpricot::Traverse#search

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.at('p').search("*") => #<Hpricot::Elements[{elem <p> "foo1" </p>}, "foo1"]> >> doc.at('p').search("p") => #<Hpricot::Elements[]> >> doc = Hpricot('<p><b>foo…</b></p></hpricot::elements[]>

hpricot:Hpricot::Traverse#procins?

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.procins? => false >> doc.at('p').procins? => false どういう場合に true になるのか不明…

hpricot:Hpricot::Traverse#previous, #previous_node

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p><p>foo3</p><p>foo4</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>} {elem <p> "foo3" </p>} {elem <p> "foo4" </p>}> >> doc.at('p').previous => nil >> doc.search('p')[1].previous => {elem <p> "foo1" </p>} >> doc.…

hpricot:Hpricot::Traverse#preceding

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p><p>foo3</p><p>foo4</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>} {elem <p> "foo3" </p>} {elem <p> "foo4" </p>}> >> doc.at('p').preceding => #<Hpricot::Elements[]> >> doc.search('p')[1].preceding => #</hpricot::elements[]>

hpricot:Hpricot::Traverse#position

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.at('p').position => 0 >> doc.search('p')[1].position => 1 node_position との違いは?

hpricot:Hpricot::Traverse#nodes_at

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p><p>foo3</p><p>foo4</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>} {elem <p> "foo3" </p>} {elem <p> "foo4" </p>}> >> doc.at('p').nodes_at(0) [0] => #<Hpricot::Elements[{elem <p> "foo1" </p>}]> >> doc.at('p').n…