创建非自我封闭的空标签当我尝试创建引入nokogiri :: XML ::生成XML文档:与引入nokogiri
builder = Nokogiri::XML::Builder.new do |xml|
xml.my_tag({key: :value})
end
我得到以下XML标签:
<my_tag key="value"/>
它是自封闭的,但我需要完整的形式:
<my_tag key="value"></my_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>
但是,如果我传递一个空字符串或nil
,甚至是空块:
xml.my_tag("", key: :value)
它会产生一个自我封闭的标记:
<my_tag key="value"/>
我相信应该有是一些属性或其他的东西可以帮助我,但简单的谷歌搜索没有找到答案。
我在“Building blank XML tags with Nokogiri?”中找到了一个可能的解决方案,但它将所有标签保存为非自封闭。
根据规格,' '与' '相同,唯一的区别就是更短更干净。为什么你必须有第二种形式?这是一个要求还是一个愿望?由于XML文件可能非常庞大,如果能够使用较短的表单,则可以在进入数百万行时产生较小的文件。 –
正如我在下面回答的原因是在API中。它需要完整的标记符号 –