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

hpricot:Hpricot::Traverse#next, #next_node

>> 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').next => {elem <p> "foo2" </p>} >> doc = Hpricot('<div><p><b>foo1</b></p><p>foo2</p></div><p>foo3</p>') => #

hpricot:Hpricot::Traverse#make

>> 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').make ArgumentError: an Hpricot document must be built from an input source (a String or IO object.) from /usr/local/ruby-1.8.…

hpricot:Hpricot::Traverse#inner_text, #innerText

>> doc = Hpricot('<p><b>foo1</b></p><p>foo2</p>') => #<Hpricot::Doc {elem <p> {elem <b> "foo1" </b>} </p>} {elem <p> "foo2" </p>}> >> doc.html => "<p><b>foo1</b></p><p>foo2</p>" >> doc.at('p').html => "<b>foo1</b>" >> doc.at('p').inner_text => "foo1" >> doc.at('p').innerText => "foo1" >> doc.at('p')…

hpricot:Hpricot::Traverse#inner_html=, #innerHTML=

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.html => "<p>foo1</p><p>foo2</p>" >> doc.at('p').inner_html = "hoge" => "hoge" >> doc.html => "<p>hoge</p><p>foo2</p>"

hpricot:Hpricot::Traverse#html, #inner_html, #innerHTML

get_subnode 良く分からず… >> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.html => "<p>foo1</p><p>foo2</p>" >> doc.at('p').html => "foo1" >> doc.search('p').html => "foo1foo2" >> doc = Hpricot('<div><p>foo1</p><…</div>

hpricot:Hpricot::Traverse#index

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

hpricot:Hpricot::Traverse#following

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

hpricot:Hpricot::Traverse#elem?

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.elem? => false >> doc.search("p").elem? NoMethodError: undefined method `elem?' for #<Hpricot::Elements:0xb798e434> from (irb):4 >> doc.at("p").elem? => tru…</hpricot::elements:0xb798e434>

hpricot:Hpricot::Traverse#doctype?

>> require "hpricot" => true > doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.doctype? => false >> doc.at("p").doctype? => false 良く分からない…

hpricot:Hpricot::Traverse#doc?

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.doc? => true >> doc.search("p").doc? NoMethodError: undefined method `doc?' for #<Hpricot::Elements:0xb79ce458> from (irb):4 >> doc.at("p").doc? => false</hpricot::elements:0xb79ce458>

hpricot:Hpricot::Traverse#css_path

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.css_path => nil >> doc.search("p").css_path NoMethodError: undefined method `css_path' for #<Hpricot::Elements:0xb7a2a230> from (irb):4 from :0 >> doc.at("p…</hpricot::elements:0xb7a2a230>

hpricot:Hpricot::Traverse#comment?

>> require "hpricot" => true >> doc = Hpricot('<p>foo2</p>') => #<Hpricot::Doc {comment "<!-- foo1 -->"} {elem <p> "foo2" </p>} {comment ""}> >> doc.search("*") => #<Hpricot::Elements[{comment "<!-- foo1 -->"}, {elem <p> "foo2" </p>}, "foo2", {comment "</hpricot::elements[{comment></hpricot::doc>

hpricot:Hpricot::Traverse#clean_path

>> require "hpricot" => true >> doc = Hpricot('') => #<Hpricot::Doc> >> doc.clean_path("//div/p") => "//div/p" >> doc.clean_path(" a b c ") => "a b c" >> doc.clean_path(" a b c ") => "a b c" 何に使う?</hpricot::doc>

hpricot:Hpricot::Traverse#children_of_type

>> require "hpricot" => true >> doc = Hpricot('<div><p>foo1</p><p>foo2</p></div><div><p>foo3</p><p>foo4</p><a href="http://www.foo.org/">foo</a></div>') => #<Hpricot::Doc {elem <div> {elem <p> "foo1" </p>} {elem <p> "foo2" </p>} </div>} {elem <div> {elem <p> "foo3" </p>} {elem <p> "foo4" </p>} {elem…</div>

hpricot:Hpricot::Traverse#bogusetag?

>> require "hpricot" => true >> doc = Hpricot('<p>foo1<p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" {elem <p> "foo2" </p>}}> >> doc.at("p").bogusetag? => false >> doc = Hpricot('<br><p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {emptyelem <br>} {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.a…</hpricot::doc></hpricot::doc></p>

hpricot:Hpricot::Traverse#before

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

hpricot:Hpricot::Traverse#after

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.at("p").after('') => nil >> doc.at("p").after('<div>foo</div>') => [{elem <div> "foo" </div>}] >> doc => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <div> "…</div>

hpricot:Hpricot::Traverse#/, #search

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

hpricot:Hpricot::Traverse#%, #at

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p><div>foo3</div>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>} {elem <div> "foo3" </div>}> >> doc % "p" => {elem <p> "foo1" </p>} >> doc % "div" => {elem <div> "foo3" </div>} >> doc % "*" => {elem <p> "foo1" </p>…

hpricot:Hpricot::Elements#wrap

>> require "hpricot" => true >> doc = Hpricot('<a href="http://www.foo.org/">foo</a><a href="http://www.bar.org/">bar</a><p>hoge</p>') => #<Hpricot::Doc {elem <a href="http://www.foo.org/"> "foo" </a>} {elem <a href="http://www.bar.org/"> "bar" </a>} {elem <p> "hoge" </p>}> >> doc.search("a[@href]")…

hpricot:Hpricot::Elements#to_html, #to_s

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

hpricot:Hpricot::Elements#remove_class

>> require "hpricot" => true >> doc = Hpricot('<p class="hoge1">foo1</p><p class="hoge2">foo2</p>') => #<Hpricot::Doc {elem <p class="hoge1"> "foo1" </p>} {elem <p class="hoge2"> "foo2" </p>}> >> (doc / "p").remove_class("hoge1") => #<Hpricot::Elements[{elem <p class=""> "foo1" </p>}, {elem

hpricot:Hpricot::Elements#remove_attr

>> require "hpricot" => true >> doc = Hpricot('<img src="foo.png" width=200><img src="bar.png">') => #<Hpricot::Doc {emptyelem <img src="foo.png" width="200">} {emptyelem <img src="bar.png">}> >> (doc / "img").remove_attr("width") => #<Hpricot::Elements[{emptyelem <img src="foo.png">}, {emptyelem </hpricot::elements[{emptyelem></hpricot::doc>

hpricot:Hpricot::Elements#remove

まんま >> require "hpricot" => true >> doc = Hpricot("<html>Remove this: <b>here</b></html>") => #<Hpricot::Doc {elem <html> "Remove this: " {elem <b> "here" </b>} </html>}> >> doc.search("b").remove => #<Hpricot::Elements[{elem <b> "here" </b>}]> >> doc.to_html => "<html>Remove this: </html>"

hpricot:Hpricot::Elements#prepend

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> (doc / "p").prepend("foo") => #<Hpricot::Elements[{elem <p> "foo" "foo1" </p>}, {elem <p> "foo" "foo2" </p>}]> >> doc.to_html => "<p>foofoo1</p><p>foofoo2</p>"

hpricot:Hpricot::Elements#not

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

hpricot:Hpricot::Elements#inner_text, #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.html => "<p><b>foo1</b></p><p>foo2</p>" >> doc.search("p").html => "<b>foo1</b>foo2" >> doc.search("p").inner_text => "foo1foo2" >> d…

hpricot:Hpricot::Elements#html=, #inner_html=, #innerHTML=

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.html => "<p>foo1</p><p>foo2</p>" >> doc.search("p").html => "foo1foo2" >> doc.search("p").html = "hoge" => "hoge" >> doc.html => "<p>hoge</p><p>hoge</p>"

hpricot:Hpricot::Elements#html, #inner_html, #innerHTML

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.html => "<p>foo1</p><p>foo2</p>" >> doc.inner_html => "<p>foo1</p><p>foo2</p>" >> doc.innerHTML => "<p>foo1</p><p>foo2</p>" >> doc.search("p").html => "foo1…

hpricot:Hpricot::Elements#filter

>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> (doc / "p").filter("p") => #<Hpricot::Elements[{elem <p> "foo1" </p>}, {elem <p> "foo2" </p>}]> >> (doc / "p").filter("a") => #<Hpricot::Elements[]> まともな使い方を思いつ…</hpricot::elements[]>