Kiran wrote:
I need to parse and read xml response from third party url using ruby on rails.
REXML is part of the standard Rails distribution and is probably what you're looking for.
hth, Bill
Kiran wrote:
I need to parse and read xml response from third party url using ruby on rails.
REXML is part of the standard Rails distribution and is probably what you're looking for.
hth, Bill
Kiran wrote:
Bill Walton wrote:
Kiran wrote:
I need to parse and read xml response from third party url using ruby on rails.
REXML is part of the standard Rails distribution and is probably what you're looking for.
hth, Bill Hi Bill,
Aware that REXML can be used but unable to find how it can be used to parse resposes from urls. Search in google for that hasnt beenmuch help ful
Small code sippet or name of the method used to do that can be helpful
Thanks Kiran
Hey
Check out CobraVsMongoose: http://cobravsmongoose.rubyforge.org
here's an excerpt from the above link:
require 'cobravsmongoose' xml = '<alice><bob>charlie</bob><bob>david</bob></alice>' CobraVsMongoose.xml_to_hash(xml) # => { "alice" => { "bob" => [{ "$" => "charlie" }, { "$" => "david" }] } }
friendly and easy to use. There will undoubtedly be similar projects out there (possibly even something in rails?) but in my experience this has been excellent.
eg: require 'open-uri' response = open("http://somesite.com").read arrays_of_hashes = CobraVsMongoose.xml_to_hash(response)
Cheers, Gustav Paul
Kiran wrote:
I need to parse and read xml response from third party url using ruby on rails.
Bill Walton wrote:
REXML is part of the standard Rails distribution and is probably what you're looking for.
Kiran wrote:
Aware that REXML can be used but unable to find how it can be used to parse resposes from urls. Search in google for that hasnt beenmuch help ful
Small code sippet or name of the method used to do that can be helpful
Here's a tutorial:
http://www.germane-software.com/software/rexml/docs/tutorial.html
Basically you can just create a Document by passing in the xml as a string (response.body probably). Then you get the root element and pull what you want out of the doc via xpaths.
Or, if you just need to convert all the content into a nested hash, see below.
Gustav Paul wrote:
Check out CobraVsMongoose: http://cobravsmongoose.rubyforge.org
here's an excerpt from the above link:
require 'cobravsmongoose' xml = '<alice><bob>charlie</bob><bob>david</bob></alice>' CobraVsMongoose.xml_to_hash(xml) # => { "alice" => { "bob" => [{ "$" => "charlie" }, { "$" => "david" }] } }
friendly and easy to use. There will undoubtedly be similar projects out there (possibly even something in rails?) but in my experience this has been excellent.
eg: require 'open-uri' response = open("http://somesite.com").read arrays_of_hashes = CobraVsMongoose.xml_to_hash(response)
Cheers, Gustav Paul
That cobra thingy looks interesting... will have to check it out. But you're right that rails will do this now (I think added as part of the REST support in 1.2).
Rails adds a from_xml class method to Hash:
# ~/rails/whitelabel $ script/console Loading development environment. >> h = Hash.from_xml "<foo><bar>hello</bar><baz>there</baz></foo>" => {"foo"=>{"baz"=>"there", "bar"=>"hello"}} >>
b