2
所以我解析了一個html頁面使用nokogiri。如何操作通過Nokogiri解析的html頁面?
我想環繞的鏈接
.wrap()
每種情況標籤似乎並沒有正常工作。
puts doc.xpath("//a").wrap("<b></b>");
返回只是普通的定期不變html。
所以我解析了一個html頁面使用nokogiri。如何操作通過Nokogiri解析的html頁面?
我想環繞的鏈接
.wrap()
每種情況標籤似乎並沒有正常工作。
puts doc.xpath("//a").wrap("<b></b>");
返回只是普通的定期不變html。
這是wrap
工作方式中的缺陷。這裏是源:
# File lib/nokogiri/xml/node_set.rb, line 212
def wrap(html, &blk)
each do |j|
new_parent = Nokogiri.make(html, &blk)
j.parent.add_child(new_parent)
new_parent.add_child(j)
end
self
end
正如你所看到的,而不是用new_parent
更換j
,它增加了new_parent
到j
的兄弟姐妹的結束。你可以這樣做你想做的事:
doc.search('//a').each do |j|
new_parent = Nokogiri::XML::Node.new('b',doc)
j.replace new_parent
new_parent << j
end
非常感謝你!這做到了! – fjfjwo 2009-10-19 19:10:42