鈴木です。

In message <20100305090408.5CCA.7F141647 / salvus.jp>
    on Fri, 5 Mar 2010 09:04:09 +0900
    Yusuke Yamasaki <y-yamasaki / salvus.jp> writes:

> 山崎(ゆ)です。

お世話になります。

> これでよいでしょうか。
> 
> print doc.xpath('/html/body/form')[0].content
> #=> Name : <%= textField('namae', {:size=>20}) %>

説明が足りなくて申し訳ありませんでした。

contentも試してみたのですが、上記例でformタグが消えて
しまっているように、doc全体を

print doc.content

とすると、他のノードのタグが消えてしまうので今回の
目的には合わなかったのです。

test.rb
-------------------------8<-------------------------
doc = Nokogiri::HTML(<<EOM)
<html><head></head>
<body>
<form>
Name : <input type=text name=namae size=20>
</form>
</body>
</html>
EOM

node = doc.xpath('/html/body/form/input')[0]
str = "<%= textField('namae', {:size=>20}) %>"
new = Nokogiri::XML::Text::new(str, doc)
node.replace(new)
puts doc.content
-------------------------8<-------------------------

% ruby n.rb

Name : <%= textField('namae', {:size=>20}) %>

---
学校法人暁学園 企画調査室 情報システム課
鈴木 隆之 / h-taka / akatsuki.ed.jp