2010-10-12 30 views
8

Có ai biết dễ sử dụng trình soạn thảo XML của Ruby không? Tôi chỉ cần viết một số XML đơn giản và tôi đang gặp khó khăn trong việc tìm kiếm một tài liệu đơn giản.Trình soạn thảo XML XML đơn giản và tốt?

+0

REXML không quá đáng sợ ... ai cũng có ý kiến ​​về nó? –

+1

Tôi là một fan hâm mộ REXML trong một thời gian dài, nhưng vì nó dựa trên Ruby trong khi Nokogiri dựa vào libxml2 và C, Nokogiri nhanh hơn và là yêu thích của tôi về xử lý XML trong Ruby những ngày này. Nokogiri :: Builder đặc biệt tốt đẹp. – Phrogz

+0

Cảm ơn, tôi đã kết thúc bằng cách sử dụng trình xây dựng RubyGems. Nó rất đơn giản và làm việc như một sự quyến rũ. –

Trả lời

9

builder là trình ghi XML chuẩn cho Ruby. Bạn có thể lấy nó từ RubyGems:

$ gem install builder 

Dưới đây là một ví dụ:

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

Dưới đây là kết quả:

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

Nokogiri có một người thợ xây XML tốt đẹp. Đây là từ trang 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

Ngay cả tôi (người không thích ruby) đã có thể nhận được trên xml của Nokogiri API khá dễ dàng. –

+0

Nó chắc chắn là một heck tốt hơn rất nhiều so với một số mô-đun tạo XML của các ngôn ngữ khác hoặc làm nó bằng tay. –

Các vấn đề liên quan