2014-02-08 35 views
0

我使用Ruby Builder從數據庫中動態生成XML文件(http://builder.rubyforge.org/)。如何使用Ruby Builder動態地在XML標記中插入一些屬性?

要添加一個標籤,它的名稱是一個變量,我發現這一點: xml.tag(@ myTagName)

如何dynamiquelly插入一個在該標籤的屬性列表!?

  • 我不知道這是從數據庫
  • 我需要,因爲我不知道有多少屬性會被插入到創建一個循環動態加載的屬性的名稱。

謝謝。

回答

2

我認爲不應該很難做到你需要的東西。每當你添加一個標籤,你可以傳遞一個可選的散列,這將是標籤的屬性。因此,例如,如果你這樣做:

builder = Builder::XmlMarkup.new 
    xml = builder.person(name: "foo", age: 0) 

然後你會得到<person name='foo' age='0'/>

因此以類似的方式,如果你建立自己的動態屬性作爲哈希可以使用#tag!方法如下所示:

xml = builder.tag!(tag_name, attributes_hash) 
+0

That works.Thanks。謝謝。 – James

相關問題