Вопрос

I have parsed nokogiri document:

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">]>]

How I can replace Nokogiri::XML::Element with new Nokogiri::XML::Text?

Это было полезно?

Решение

new_node=Nokogiri::XML::Text.new("some text",doc)
doc.search("t").first.replace(new_node)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top