2010-10-12 41 views
8

有誰知道一個易於使用的Ruby XML編寫器嗎?我只需要編寫一些簡單的XML,但我很難找到一個簡單的XML。好又簡單的Ruby XML編寫器?

+0

REXML看起來不太可怕......任何人對此有看法? – 2010-10-12 05:58:48

+1

我很長一段時間是一個REXML粉絲,但由於它基於Ruby,而Nokogiri依賴於libxml2和C,所以Nokogiri的hella速度更快,是我最近在Ruby中處理Ruby的最愛。 Nokogiri :: Builder非常好。 – Phrogz 2011-02-09 05:17:40

+0

謝謝,我結束了使用RubyGems構建器。這非常非常簡單,像魅力一樣工作。 – 2011-02-10 01:39:09

回答

9

builder是Ruby的規範XML編寫器。您可以從RubyGems得到它:

$ gem install builder 

下面是一個例子:

require 'builder' 
xml = Builder::XmlMarkup.new(:indent => 2) 
puts xml.root { 
    xml.products { 
    xml.widget { 
     xml.id 10 
     xml.name 'Awesome Widget' 
    } 
    } 
} 

下面是輸出:

<root> 
    <products> 
    <widget> 
     <id>10</id> 
     <name>Awesome Widget</name> 
    </widget> 
    </products> 
</root> 
7

引入nokogiri有一個很好的XML構建。這是來自Nokogiri網站:http://nokogiri.org/Nokogiri/XML/Builder.html

require 'nokogiri' 
builder = Nokogiri::XML::Builder.new do |xml| 
    xml.root { 
    xml.products { 
     xml.widget { 
     xml.id_ "10" 
     xml.name "Awesome widget" 
     } 
    } 
    } 
end 
puts builder.to_xml 
# >> <?xml version="1.0"?> 
# >> <root> 
# >> <products> 
# >>  <widget> 
# >>  <id>10</id> 
# >>  <name>Awesome widget</name> 
# >>  </widget> 
# >> </products> 
# >> </root> 
+0

即使我(誰不喜歡紅寶石)能夠拿起Nokogiri的XML API很容易。 – 2010-10-20 16:02:13

+0

這絕對比其他語言的XML創建模塊要好得多,或者手工完成。 – 2010-10-20 22:24:22