2009-10-19 5 views

Répondre

2

Ceci est une faille dans la façon dont wrap fonctionne. Voici la source:

# 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 

Comme vous pouvez le voir, au lieu de remplacer j avec new_parent, il ajoute new_parent à la fin des frères et sœurs de j. Vous pouvez faire ce que vous voulez comme ceci:

doc.search('//a').each do |j| 
    new_parent = Nokogiri::XML::Node.new('b',doc) 
    j.replace new_parent 
    new_parent << j 
end 
+0

Merci beaucoup! Ça l'a fait! – fjfjwo

Questions connexes