2010-05-01から1ヶ月間の記事一覧
>> 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>') => #
>> 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>} {…
>> 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>
>> 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>') …
>> 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>
>> 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>
>> 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>
さっぱり分からず… >> 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…
なぜか 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…
なぜか 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…
なぜか 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…
>> 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>}] => …
>> 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…
>> 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>') => #
>> 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…
>> 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]"
>> 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>
>> 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…
まんま >> 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>
>> 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"
>> 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>
>> 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>"
>> 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…
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."
>> 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[]>
>> 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 になるのか不明…
>> 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.…
>> 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[]>
>> 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 との違いは?
>> 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…