山崎(ゆ)です。
これでよいでしょうか。
print doc.xpath('/html/body/form')[0].content
#=> Name : <%= textField('namae', {:size=>20}) %>
出典:
http://stackoverflow.com/questions/1985347/how-to-unescape-html-in-nokogiri-ruby-so-remains-and-not-amp
_______________________
Yusuke Yamasaki <y-yamasaki / salvus.jp>
On Thu, 4 Mar 2010 16:17:30 +0900 Takayuki Suzuki wrote:
> 鈴木と申します。
>
> 既に作成済みのHTMLドキュメントを erb に食わせるため
> のテンプレートに変換したくて Nokogiri をつかってみた
> のですが、思うようにいきません。
>
> <input type=text name=namae size=20>
>
> を
>
> <%= textField('namae', {:size=>20}) %>
>
> に置き換えて出力したいのですが < > をエスケープせずに
> 出力する方法はないでしょうか?
>
> test.rb
> -------------------------8<-------------------------
> require 'rubygems'
> require 'nokogiri'
>
> doc = Nokogiri::HTML(<<EOM)
> <form>
> Name : <input type=text name=namae size=20>
> </form>
> EOM
>
> node = doc.xpath('/html/body/form/input')[0]
> str = "<%= textField('namae', {:size=>20}) %>"
> new = Nokogiri::XML::Text::new(str, doc)
> node.replace(new)
> print doc.xpath('/html/body/form')[0].to_html
> -------------------------8<-------------------------
>
> % ruby test.rb
> <form>
> Name : <%= textField('namae', {:size=>20}) %></form>
> %
>
> ---
> 学校法人暁学園 企画調査室 情報システム課
> 鈴木 隆之 / h-taka / akatsuki.ed.jp