jruby で xhtml 。タイトル・タグの内容を置き換える
ごくごく簡単なところから、というわけで、 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
この項、まだまだ続く予定です。