0

我想创建以下 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>。我错过了什么?

4

1 回答 1

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>
于 2012-04-13T20:53:55.523 回答