在Nokogiri中插入特定XML标记后的文本

时间:2012-04-13 20:18:13

标签: ruby nokogiri

我想创建以下XML:

<?xml version="1.0">
<foo>
  <bar/>
  TEXT GOES HERE
</foo>

使用Nokogiri构建结构非常简单:

builder = Nokogiri::XML::Builder.new do |xml|
  xml.foo { 
    xml.bar {}
  }
end
puts builder.to_xml

我无法弄清楚如何在TEXT GOES HERE内插入<foo>字符串,而在 <bar/>之后插入

显然,xml.foo("TEXT GOES HERE")会在<bar>之前生成文字。我错过了什么?

1 个答案:

答案 0 :(得分:2)

您需要text方法:

require 'nokogiri'
builder = Nokogiri::XML::Builder.new do |xml|
  xml.foo { 
    xml.bar
    xml.text "TEXT GOES HERE"
  }
end

puts builder.doc
#=> <?xml version="1.0"?>
#=> <foo><bar/>TEXT GOES HERE</foo>