2010-10-12 10 views
8

Czy ktoś wie o łatwym w obsłudze pisarzu formatu Ruby XML? Potrzebuję tylko napisać prosty XML i mam problem ze znalezieniem tego, który jest prosty.Dobry i prosty twórca pisma XML w formacie Ruby?

+0

REXML nie wygląda zbyt przerażająco ... Czy ktoś ma na ten temat zdanie? –

+1

Byłem fanem REXML przez długi czas, ale ponieważ jest oparty na Ruby, podczas gdy Nokogiri opiera się na libxml2 i C, Nokogiri jest szybsza i jest moim ulubionym narzędziem do obsługi XML w Ruby. Nokogiri :: Builder jest szczególnie miły. – Phrogz

+0

Dzięki, skończyłem używając budowniczego RubyGems. To bardzo proste i działa jak czar. –

Odpowiedz

9

builder jest kanonicznym pisarzem XML dla Ruby. Można go pobrać z RubyGems:

$ gem install builder 

Oto przykład:

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

Oto wynik:

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

Nokogiri ma ładny XML Builder. To jest ze strony 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

Nawet ja (który nie lubię ruby) był w stanie odebrać xml Nokogiri Interfejs API dość łatwo. –

+0

Z pewnością jest to o wiele lepsze niż niektóre moduły XML tworzenia innych języków lub robi to ręcznie. –