使用方法调用将Nokogiri xml构建器块中的XML插入另一个

时间:2012-04-06 02:35:56

标签: ruby xml nokogiri

我正在尝试为我正在制作的库构建xml。我想要做的是:

def block1
  builder = Nokogiri::XML::Builder.new do |xml|
    xml.SomeStuff {
      xml.ThingsUnderStuff
      (block2 needs to go here)
    }
  end
end

def block2
  builder = Nokogiri::XML::Builder.new do |xml|
    xml.AddedToStuff {}
  end
end

我不知道该怎么做,除非我忽视它,否则我无法在文档中找到任何可用于此的内容。感谢任何人的帮助。

1 个答案:

答案 0 :(得分:3)

require 'nokogiri'
def block1
  builder = Nokogiri::XML::Builder.new do |xml|
    xml.SomeStuff {
      xml.ThingsUnderStuff
      block2(xml)
    }
  end
end

def block2(xml)
    xml.AddedToStuff
end

puts block1.doc
#=> <?xml version="1.0"?>
#=> <SomeStuff>
#=>   <ThingsUnderStuff/>
#=>   <AddedToStuff/>
#=> </SomeStuff>