Re: XML parsing REST responses - RESOLVED



On 29 Mar 2007 at 12:39, Beginner wrote:

Hi,

I might be in above my head here so bear with me if I am not making
sense.

I have to retrieve and extract an xml fragment from a REST server. I
have followed some examples from the "Web Services" book. I am able
to retrieve the data via LWP::UserAgent but I am baffled by the hash
ref that's returned. Data::Dumper prints it as this (excuse the
formatting) :

$VAR1 = bless( {
'_protocol' => 'HTTP/1.1',
'_content' => '<address id="1029">
<addressLine1>YORK</addressLine1>
<addressLine2>W1T 6RF</addressLine2>
<addressLine3></addressLine3>
<addressLine4></addressLine4>
<addressLine5></addressLine5>
<country id="227"/>
<postcode>W1T 6RF</postcode>
</address>',
'_rc' => 200,
'_headers' => bless( {
'client-date' => 'Thu, 29 Mar
2007 11:20:51 GMT',
'content-type' => 'text/xml',
'client-response-num' => 1,
'client-peer' =>
'127.0.0.1:8182',
'content-length' => '256',
'server' => 'Restlet-
Engine/1.0b14'
}, 'HTTP::Headers' ),
'_msg' => 'The request has succeeded',
'_request' => bless( {
'_content' => '',
'_uri' => bless( do{\(my $o =
'http://localhost:8182/core/address/1029')}, 'URI::http' ),
'_headers' => bless( {
'user-
agent' => 'libwww-perl/5.803'
},
'HTTP::Headers' ),
'_method' => 'GET'
}, 'HTTP::Request' )
}, 'HTTP::Response' );


I am not sure who I am work with the data. The bless reference means
I have just stepped into the murky workd of OO perl. The data I am
after is the address xml fragment at the top.

Can anyone offer me any tips to get me started? How do I reference
the 'Object' at the top of the response? Is there a module that will
help 'deserialize' the response?


My mistake. The examples in the books show how to do that. Basically
pass SOAP::Deserializer the content returned by LWP and it will do
all the heavy lifting for you...phew.

so

my $fragment = parse($res->content);
print $fragment->{'some_tag_value'}, "\n";

sub parse {
use SOAP::Lite;
return SOAP::Custom::XML::Deserializer->deserialize(shift)->root;
}


.



Relevant Pages

  • Re: Heres some history you didnt know!
    ... chose to bless us with the following wisdom: ... good reason the administration is stonewalling the Congress in their ... wrong with the response to Katrina (see: ...
    (comp.sys.mac.advocacy)
  • Re: Heres some history you didnt know!
    ... chose to bless us with the following wisdom: ... when you've done that than we can discuss FEMA's response. ...
    (comp.sys.mac.advocacy)
  • Re: Snores
    ... I know, bless her. ... I'm now picturing her response when she reads this later this evening. ... Total disinterest, I should warrant. ...
    (uk.rec.motorcycles)
  • XML parsing REST responses
    ... I have to retrieve and extract an xml fragment from a REST server. ... '_headers' => bless({ ... the 'Object' at the top of the response? ...
    (perl.beginners)
  • Re: XML parsing REST responses
    ... '_headers' => bless({ ... The bless reference means I have just stepped into the murky workd of OO perl. ... If all you want is the content of the response object, ... our $VAR1; ...
    (perl.beginners)