如何用Nokorigi替换元素?

时间:2014-05-06 18:03:21

标签: ruby nokogiri

我已经解析了nokogiri文件:

irb(main):042:0> doc = Nokogiri::HTML.fragment("test <t>123</t> test")
=> #<Nokogiri::HTML::DocumentFragment:0x..fdde2c540 name="#document-fragment" children=[
     #<Nokogiri::XML::Text:0x..fdde30c58 "test ">, 
     #<Nokogiri::XML::Element:0x..fdde30834 name="t" children=[#<Nokogiri::XML::Text:0x..fdde36e78 "123">],
     #<Nokogiri::XML::Text:0x..fdde30c88 " test">,
   >]>

irb(main):047:0> doc.search("t")
=> [#<Nokogiri::XML::Element:0x..fdde30834 name="t" children=[#<Nokogiri::XML::Text:0x..fdde36e78 "123">]>]

如何用新Nokogiri::XML::Element替换Nokogiri::XML::Text

1 个答案:

答案 0 :(得分:3)

new_node=Nokogiri::XML::Text.new("some text",doc)
doc.search("t").first.replace(new_node)