それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

nokogiriでHTML/XMLの属性値の書き換え。

NokogiriでHTMLの属性は Element#attr(name) で取れる

doc.search("img").first.attr("src") #=> /top.jpg

と属性値の取得ができる。jquery っぽく node.attr(name,value)としたらエラーになる。

書き換えはElement#[name]= を使う。

doc.search("img").first["src"] = "banner.jpg"

とスルことで、HTML(xml)の属性値の書換えができる。
XMLの属性値の設定(追加、置換)は Element#attr(name,value )では出来ないのか・・・モンキーパッチでも作るか。

具体例

doc.search('/html')[0]['lang']='ja'