如何使用 Nokogiri 嵌套参数

How to nest params using Nokogiri

我想这样创建XML:

<categories>
 <category id=1>Sound</category>
 <category id=2 parentId=1>Speakers</category>
</categories>

我用过:

   require 'nokogiri'
    @builder = Nokogiri::XML::Builder.new do |xml|
      xml.root {
        xml.categories{
           Category.all.each do |c|
             xml.category# here i should insert my needs

      end
    }
  }
end

我使用了“docs about Tag Attribute Short Cuts”中的示例,但它给了我 classid 而不是我想要的。

我该如何正确操作?

此代码会将 id 属性添加到类别标签:

require 'nokogiri'
  @builder = Nokogiri::XML::Builder.new do |xml|
  xml.root {
    xml.categories{
       Category.all.each do |c|
         xml.category(c.name, "id" => c.id)
  end
  }
}
end

输出应该是这样的:

<categories>
 <category id=1>Sound</category>
 <category id=2>Speakers</category>
</categories