Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
<?xml version="1.0"?> <aws:UrlInfoResponse xmlns:aws="http://alexa.amazonaws.com/doc/2005-10 +-05/"><aws:Response xmlns:aws="http://awis.amazonaws.com/doc/2005-07- +11"><aws:OperationRequest><aws:RequestId>ebd2abff-7c52-49ec-a7f3-7714 +dd3934ec</aws:RequestId></aws:OperationRequest><aws:UrlInfoResult><aw +s:Alexa> <aws:TrafficData> <aws:DataUrl type="canonical">look_again.blogspot.com/</aws:DataUr +l> <aws:Asin>B00006D9SV</aws:Asin> <aws:Rank>14</aws:Rank> </aws:TrafficData> </aws:Alexa></aws:UrlInfoResult><aws:ResponseStatus xmlns:aws="http:// +alexa.amazonaws.com/doc/2005-10-05/"><aws:StatusCode>Success</aws:Sta +tusCode></aws:ResponseStatus></aws:Response><aws:Response xmlns:aws=" +http://awis.amazonaws.com/doc/2005-07-11"><aws:OperationRequest><aws: +RequestId>ebd2abff-7c52-49ec-a7f3-7714dd3934ec</aws:RequestId></aws:O +perationRequest><aws:UrlInfoResult><aws:Alexa> <aws:TrafficData> <aws:DataUrl type="canonical">77708.blogspot.com/</aws:DataUrl> <aws:Asin>B00006D9SV</aws:Asin> <aws:Rank>14</aws:Rank> </aws:TrafficData> </aws:Alexa></aws:UrlInfoResult><aws:ResponseStatus xmlns:aws="http:// +alexa.amazonaws.com/doc/2005-10-05/"><aws:StatusCode>Success</aws:Sta +tusCode></aws:ResponseStatus></aws:Response><aws:Response xmlns:aws=" +http://awis.amazonaws.com/doc/2005-07-11"><aws:OperationRequest><aws: +RequestId>ebd2abff-7c52-49ec-a7f3-7714dd3934ec</aws:RequestId></aws:O +perationRequest><aws:UrlInfoResult><aws:Alexa> <aws:TrafficData> <aws:DataUrl type="canonical">ddig.blogspot.com/</aws:DataUrl> <aws:Asin>B000JFQRGM</aws:Asin> <aws:Rank>834337</aws:Rank> </aws:TrafficData> </aws:Alexa></aws:UrlInfoResult><aws:ResponseStatus xmlns:aws="http:// +alexa.amazonaws.com/doc/2005-10-05/"><aws:StatusCode>Success</aws:Sta +tusCode></aws:ResponseStatus></aws:Response><aws:Response xmlns:aws=" +http://awis.amazonaws.com/doc/2005-07-11"><aws:OperationRequest><aws: +RequestId>ebd2abff-7c52-49ec-a7f3-7714dd3934ec</aws:RequestId></aws:O +perationRequest><aws:UrlInfoResult><aws:Alexa> <aws:TrafficData> <aws:DataUrl type="canonical">blog66137.blogspot.com/</aws:DataUrl +> <aws:Asin>B00006D9SV</aws:Asin> <aws:Rank>14</aws:Rank> </aws:TrafficData> </aws:Alexa></aws:UrlInfoResult><aws:ResponseStatus xmlns:aws="http:// +alexa.amazonaws.com/doc/2005-10-05/"><aws:StatusCode>Success</aws:Sta +tusCode></aws:ResponseStatus></aws:Response><aws:Response xmlns:aws=" +http://awis.amazonaws.com/doc/2005-07-11"><aws:OperationRequest><aws: +RequestId>ebd2abff-7c52-49ec-a7f3-7714dd3934ec</aws:RequestId></aws:O +perationRequest><aws:UrlInfoResult><aws:Alexa> <aws:TrafficData> <aws:DataUrl type="canonical">webhostingservice-ka.blogspot.com/</ +aws:DataUrl> <aws:Asin>B00006D9SV</aws:Asin> <aws:Rank>14</aws:Rank> </aws:TrafficData> </aws:Alexa></aws:UrlInfoResult><aws:ResponseStatus xmlns:aws="http:// +alexa.amazonaws.com/doc/2005-10-05/"><aws:StatusCode>Success</aws:Sta +tusCode></aws:ResponseStatus></aws:Response></aws:UrlInfoResponse>
In this code $status comes back with five XML:Xpath::Node::Element objects like it should, but $status comes back as XML::Xpath::Literal which according to the docs is supposed to be a string, but I can't find a way to get a string out of it. XML::Xpath::Literal is supposed to have a method toString but when I try to apply that as inmy $output = $response->content; my $xp = XML::XPath->new(xml => $output); my $nodeset = $xp->find('/aws:UrlInfoResponse/aws:Response'); my $nnodes = @{ $nodeset }; for my $i (0..$nnodes-1) { my $status = $nodeset[$i]->findvalue('/aws:ResponseStatus/aws:Sta +tusCode'); }
I get error Can't locate object method "toString" via package "XML::XPath::Literal"my $string = $status->toString
What am i doing wrong?
TIA...
Steve
readmore tags added by Arunbear
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: XML::Xpath: How to get string from literal
by ikegami (Patriarch) on Jan 19, 2007 at 22:01 UTC | |
by cormanaz (Deacon) on Jan 19, 2007 at 22:19 UTC | |
|
Re: XML::Xpath: How to get string from literal
by jettero (Monsignor) on Jan 19, 2007 at 22:00 UTC | |
|
Re: XML::Xpath: How to get string from literal
by Jenda (Abbot) on Feb 21, 2007 at 14:19 UTC |