2010-10-12 6 views
8

Est-ce que quelqu'un connaît un éditeur Ruby XML facile à utiliser? J'ai juste besoin d'écrire du XML simple et j'ai du mal à en trouver un qui soit simple.Bon et simple écrivain Ruby XML?

+0

REXML ne semble pas trop effrayant ... quelqu'un a une opinion là-dessus? –

+1

J'étais un fan de REXML depuis longtemps, mais comme il est basé sur Ruby alors que Nokogiri s'appuie sur libxml2 et C, Nokogiri est plus rapide et est mon favori pour la manipulation XML dans Ruby ces jours-ci. Le Nokogiri :: Builder est particulièrement agréable. – Phrogz

+0

Merci, j'ai fini par utiliser le générateur RubyGems. C'est très très simple et a fonctionné comme un charme. –

Répondre

9

builder est l'auteur XML canonique pour Ruby. Vous pouvez l'obtenir auprès RubyGems:

$ gem install builder 

Voici un exemple:

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

est ici la sortie:

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

Nokogiri a un constructeur XML agréable. Cela vient du site de Nokogiri:

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

Même moi (qui n'aime pas ruby) a pu relever le xml de Nokogiri API assez facilement. –

+0

C'est certainement beaucoup mieux que d'autres modules de création XML d'autres langues ou le faire à la main. –