代码之家  ›  专栏  ›  技术社区  ›  James

如何使用RubyBuilder在XML标记中动态插入一些属性?

  •  2
  • James  · 技术社区  · 12 年前

    我正在使用RubyBuilder从数据库动态生成XML文件( http://builder.rubyforge.org/ ).

    要添加一个名为变量的标记,我发现: xml.tag!(@myTagName)

    如何在此标记中动态插入属性列表?

    • 我不知道从数据库动态加载的属性的名称
    • 我需要创建一个循环,因为我不知道将插入多少属性。

    谢谢

    1 回复  |  直到 12 年前
        1
  •  7
  •   Nikos    12 年前

    我认为做你需要的事情应该不难。无论何时添加标记,都可以传递一个可选的哈希,该哈希将是标记的属性。例如,如果您这样做:

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

    然后你会得到 <person name='foo' age='0'/>

    因此,以类似的方式,如果将动态属性构建为哈希,则可以使用 #tag! 方法如下:

    xml = builder.tag!(tag_name, attributes_hash)
    
    推荐文章