我有以下
HTML:
<html> <body> <h1>Foo</h1> <p>The quick brown fox.</p> <h1>Bar</h1> <p>Jumps over the lazy dog.</p> </body> </html>
…并通过使用RubyGem Nokogiri(更换为hpricot),我想将其更改为以下HTML:
<html> <body> <p class="title">Foo</p> <p>The quick brown fox.</p> <p class="title">Bar</p> <p>Jumps over the lazy dog.</p> </body> </html>
换句话说:如何使用Nokogiri找到并替换某些HTML标签?我知道如何找到它们(使用css关键字),但我不知道如何在解析文档时替换它们.
谢谢你的帮助!
解决方法
尝试这个:
require 'nokogiri' html_text = "<html><body><h1>Foo</h1><p>The quick brown fox.</p><h1>Bar</h1><p>Jumps over the lazy dog.</p></body></html>" frag = Nokogiri::HTML(html_text) frag.xpath("//h1").each { |div| div.name= "p"; div.set_attribute("class","title") }