代码之家  ›  专栏  ›  技术社区  ›  Pavel Zdarov

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

  •  0
  • Pavel Zdarov  · 技术社区  · 11 年前

    我正在发送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 回复  |  直到 11 年前
        1
  •  0
  •   Slaven Rezic    11 年前

    使用 value() 方法。

        2
  •  0
  •   Pavel Zdarov    11 年前

    value()-有效。

    也不是 发送请求() 可以使用 simple_request()(简单请求) 返回值的数组。 以下变体是相同的:

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

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