使用循环在Nokogiri :: XML :: Builder代码块中创建多个节点

时间:2012-04-06 04:02:31

标签: ruby xml nokogiri

我有需要循环的代码,它需要通过each循环更改节点名称,这是我的意思的一个例子:

builder = Nokogiri::XML::Builder.new do |xml|
  xml.HasThreeNodes {
    ['Node1','Node2','Node3'].each do |name|
      xml.name "value"
    end
  }
end

输出:

<?xml version="1.0"?>
<HasThreeNodes>
  <name>value</name>
  <name>value</name>
  <name>value</name>
</HasThreeNodes>

我尝试了不同的代码变体,但无济于事。我只需要将<name>称为<Node1>,依此类推。非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:2)

这有效:

xml.send name, "value"

为什么要混合curlies和do / ends?如果它是一致的,它看起来会更好。