2012-04-06 9 views
1

ループする必要があるコードがあり、ノード名をeachループで変更する必要があります。ここでは意味する例を示します。ループを使用してNokogiri :: XML :: Builderコードブロック内に複数のノードを作成する

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>となるようなところが必要です。どんな助けでも大変感謝しています。

答えて

2

これは動作します:

xml.send name, "value" 

また、なぜカーリーを混ぜて/終了しますか?一貫性があれば見た目が良くなります。

関連する問題