Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl如何从bless对象请求数据中获取值_Perl_Xml Rpc_Bless - Fatal编程技术网

Perl如何从bless对象请求数据中获取值

Perl如何从bless对象请求数据中获取值,perl,xml-rpc,bless,Perl,Xml Rpc,Bless,我正在使用RPC::XML并使用下面的代码和请求XML解析请求XML use RPC::XML::ParserFactory 'XML::Parser'; my $P = RPC::XML::ParserFactory->new(); my $parse_data = $P->parse($xml_data); print Dumper($parse_data); 请求xml: <methodCall> <methodName>get_topic</

我正在使用RPC::XML并使用下面的代码和请求XML解析请求XML

use RPC::XML::ParserFactory 'XML::Parser';
my $P = RPC::XML::ParserFactory->new();
my $parse_data = $P->parse($xml_data); 
print Dumper($parse_data);
请求xml:

<methodCall>
<methodName>get_topic</methodName>
<params>
<param>
<value>
<string>163397</string>
</value>
</param>
<param>
<value>
<i4>0</i4>
</value>
</param>
<param>
<value>
<i4>19</i4>
</value>
</param>
<param>
<value>
<string>ANN</string>
</value>
</param>
</params>
</methodCall>
在我完成
打印转储程序($parse_data->args)之后并获取以下参数对象数据:

bless( {
'name' => 'get_topic',
'args' => [
            bless( do{\\(my $o = '163397')}, 'RPC::XML::string' ),
            bless( do{\\(my $o = '0')}, 'RPC::XML::i4' ),
            bless( do{\\(my $o = '19')}, 'RPC::XML::i4' ),
            bless( do{\\(my $o = 'ANN')}, 'RPC::XML::string' )
          ]
}, 'RPC::XML::request' );
祝福({


现在如何从这个args对象数据中获取值?请帮助!

未测试,但根据这一点,应该可以:

my $args = $parse_data->args;
for my $arg (@$args) {
   print $arg->type, ": ", $arg->value, "\n";
}
特别是阅读说明
RPC::XML::request
方法的文档,以及说明
RPC::XML::string
和friends的文档

my $args = $parse_data->args;
for my $arg (@$args) {
   print $arg->type, ": ", $arg->value, "\n";
}