Create non-self-closed empty tag with Nokogiri

Wednesday, November 4, 2015

When I try to create xml document with Nokogiri::XML::Builder the following way:



builder = Nokogiri::XML::Builder.new do |xml|
xml.my_tag({key: :value})
end


I get the following XML tag:



<my_tag key="value"/>


i.e. it is self-closed. But I need the full form, i.e:



<my_tag key="value"></my_tag>


When I pass value inside the node (or even space) it generates the full tag:



xml.my_tag("content", key: :value)
xml.my_tag(" ", key: :value)

<my_tag key="value">content</my_tag>
<my_tag key="value"> </my_tag>


But if I pass either empty string or nil or even empty block it generates self-closed tag.



I believe there should be some attribute or something else that helps me but simple googling didn't bring the result.

0 comments:

Post a Comment