Tuesday, January 29, 2013

Generate XML in Rails and Ruby

If you're lucky enough to have a Rails console, you can use the to_xml to return a string containing an XML representation of its receiver:

{"fname" => "foo", "lname" => "bar"}.to_xml
# =>
# <?xml version="1.0" encoding="UTF-8"?>
# <hash>
#   <fname type="string">foo</fname>
#   <lname type="string">bar</lname>
# </hash>

If you don't have the luxury of the Rails framework, then checkout the XML Builder gem.

Install Builder

$ gem install builder

Alternatively, you can put it in your Gemfile.

Open an irb Console

$ irb

irb(main):001:0> require 'active_support/builder' unless defined?(Builder)
=> true

Use Builder's XmlMarkup  functionality

builder = Builder::XmlMarkup.new(:target=>STDOUT, :indent=>2)
builder.person { |b| b.fname("foo"); b.lname("bar") }

To generate XML


If you are interested in how the Builder code leverages Ruby's dynamic language features to make this magic happen, take a look at the humbug article below.



Sponsor Ads

1 comment:

  1. readings were really very good. I will bookmark this blog so that I could often visit this blog often to read the latest article from your blog. I wait for your arrival at our website ...

    thanks, ...

    By : ios development jakarta | firzil.co.id