【发布时间】:2014-02-08 15:09:13
【问题描述】:
我正在使用 Ruby Builder (http://builder.rubyforge.org/) 从数据库动态生成 XML 文件。
要添加名称在变量中的标签,我发现了这个: xml.tag!(@myTagName)
如何在这个标签中动态插入属性列表?
- 我不知道从数据库中动态加载的属性的名称
- 我需要创建一个循环,因为我不知道要插入多少个属性。
谢谢。
【问题讨论】:
我正在使用 Ruby Builder (http://builder.rubyforge.org/) 从数据库动态生成 XML 文件。
要添加名称在变量中的标签,我发现了这个: xml.tag!(@myTagName)
如何在这个标签中动态插入属性列表?
谢谢。
【问题讨论】:
我认为做你需要的事情应该不难。每当您添加标签时,您都可以传递一个可选的哈希值,该哈希值将成为标签的属性。例如,如果你这样做:
builder = Builder::XmlMarkup.new
xml = builder.person(name: "foo", age: 0 )
然后你会得到<person name='foo' age='0'/>
因此,如果您以类似的方式将动态属性构建为哈希,则可以使用 #tag! 方法,如下所示:
xml = builder.tag!(tag_name, attributes_hash)
【讨论】: