Sha256: a412273880747304705baf47342b1c3c0c82bddd1e6eded2221d5e1816f501d5
Contents?: true
Size: 1.88 KB
Versions: 3
Compression:
Stored size: 1.88 KB
Contents
= Apricot eats Gorilla Apricot eats Gorilla is a helper for working with XML and SOAP messages. It's based on CobraVsMongoose but without REXML and the BadgerFish convention. Also it offers some extras for working with SOAP messages. == Install $ sudo gem install smacks-apricoteatsgorilla --source http://gems.github.com == Dependencies Hpricot 0.6.164 (also available for JRuby) == An example Let's assume you receive the following SOAP response: xml = '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:findCustomerByIdResponse xmlns:ns2="http://v1_0.ws.example.com/"> <return> <empty>false</empty> <customer> <id>449810</id> <title xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <name>Jungle Julia</name> <email>jj@example.com</email> <address /> </customer> </return> </ns2:findCustomerByIdResponse> </soap:Body> </soap:Envelope>' Just pass in the raw XML string: require "rubygems" require "apricoteatsgorilla hash = ApricotEatsGorilla.xml_to_hash(xml, "//return") Or use the shortcut: hash = ApricotEatsGorilla(xml, "//return") And it gets converted into a nice little Hash: "empty" => false, "customer" => { "address" => nil, "name" => "Jungle Julia", "title" => nil, "id" => "449810", "email" => "jj@example.com" } == Conclusions * The xml_to_hash method starts parsing the XML at the root node by default. By calling the method with an XPath expression as second parameter, we're able to define a custom root node. * Node attributes are ignored and won't be included in the hash. * The value of empty element nodes will be nil. * Node values of "true" or "false" will be converted to boolean objects. == More information Take a look at the tests for some more examples.
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
smacks-apricoteatsgorilla-0.2.6 | README.rdoc |
smacks-apricoteatsgorilla-0.2.7 | README.rdoc |
smacks-apricoteatsgorilla-0.2.8 | README.rdoc |