jruby で xhtml 。タイトル・タグの内容を置き換える

さて、jrubyxhtml の続きです。

ごくごく簡単なところから、というわけで、 title タグの内容の置き換えから。

あとはサンプル・コードを見てください。


動作をテストした環境について。
jruby も nokogiri も日本語は utf-8 の使用が前提です)

jruby1.5.6
nokogiri1.4.4.2
ubuntu10.04 (文字環境は utf-8 がデフォルト)



$KCODE = 'UTF8'

require 'rubygems'
require 'nokogiri'

@doc = Nokogiri::HTML(<<-EOHTML, nil, 'utf-8')
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>タイトル</title>
<style type="text/css">
</style>
</head>

<body>

</body>

</html>
EOHTML

puts "■ 変更前の xhtml 全体を出力する。"
puts @doc.to_xhtml(:encoding => 'UTF-8')

puts "■ tag title の内容を 新しいタイトル に変更する"

tag_title = @doc.xpath("//title")[0]
puts "□ 現在のタイトル; #{tag_title}"

tag_title.content = "新しいタイトル"
puts "□ 変更されたタイトル; #{tag_title}"

puts "■ 変更後の xhtml 全体を出力する。"
puts @doc.to_xhtml(:encoding => 'UTF-8')

=begin

実行結果
■ 変更前の xhtml 全体を出力する。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>タイトル</title>
<style type="text/css">
<![CDATA[
]]>
</style>
</head>
<body>

</body>
</html>
■ tag title の内容を 新しいタイトル に変更する
□ 現在のタイトル; <title>タイトル</title>
□ 変更されたタイトル; <title>新しいタイトル</title>
■ 変更後の xhtml 全体を出力する。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>新しいタイトル</title>
<style type="text/css">
<![CDATA[
]]>
</style>
</head>
<body>

</body>
</html>

=end

この項、まだまだ続く予定です。