如何在perl中解析来自RPC :: XML的答案

时间:2013-09-02 09:38:01

标签: perl xml-rpc

我正在发送RPC :: XML请求并获得正确的回复。但是不知道如何以正确的方式解析响应。这是我的代码:

use RPC::XML;
use RPC::XML::Client;

my $value = "something";

my $rpc_value = RPC::XML::string->new($value);
my $req = RPC::XML::request->new('service.makeGood',$rpc_value, $URL);

my $client = RPC::XML::Client->new($CLI);
my $responce =$client->send_request($req);

当我为Dumper做回应时,我看到以下内容:

$VAR1 = bless( [
             bless( do{\(my $o = 0)}, 'RPC::XML::boolean' ),
             bless( do{\(my $o = 'some reply')}, 'RPC::XML::string' )
           ], 'RPC::XML::array' );

我如何解析bless( do{\(my $o = 0)}, 'RPC::XML::boolean' )的价值?所以我需要看看它是否属实。

2 个答案:

答案 0 :(得分:0)

在数据结构上使用value()方法。

答案 1 :(得分:0)

value() - 有效。

也可以使用 simple_request()代替 send_request()返回值数组。 以下变体是相同的:

my $responce = $client->send_request($req);
my $value = @$responce[0]->value();

my $responce = $client->simple_request($req);
my $value =  @$responce[0];