山崎(ゆ)です。

これでよいでしょうか。

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 : &lt;%= textField('namae', {:size=&gt;20}) %&gt;</form>
> %
> 
> ---
> 学校法人暁学園 企画調査室 情報システム課
> 鈴木 隆之 / h-taka / akatsuki.ed.jp