2016-07-21 53 views
0

我想這樣的創建XML:如何巢PARAMS使用引入nokogiri

<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代替我想要的是。

我該如何正確使用?

+0

我不知道,你可以嘗試xml.category.set_attribute('身份證',c.id) – power

+0

no does not work =>' id' – user

回答

1

此代碼將在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 
+0

不錯,正是我需要的 – user