首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Perl如何从保佑对象请求数据中获取值

Perl如何从保佑对象请求数据中获取值
EN

Stack Overflow用户
提问于 2014-10-28 07:46:44
回答 1查看 596关注 0票数 1

我使用RPC::XML,并使用下面的代码和请求xml解析请求xml。

代码语言:javascript
复制
use RPC::XML::ParserFactory 'XML::Parser';
my $P = RPC::XML::ParserFactory->new();
my $parse_data = $P->parse($xml_data); 
print Dumper($parse_data);

请求xml:

代码语言:javascript
复制
<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>

我得到了对象数据:

代码语言:javascript
复制
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' );

在完成print Dumper($parse_data->args);并获得以下args对象数据之后:

祝福({

代码语言:javascript
复制
$VAR1 = [
         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' )
      ];

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-28 08:02:12

未经测试,但根据文献资料的说法,这应该是可行的:

代码语言:javascript
复制
my $args = $parse_data->args;
for my $arg (@$args) {
   print $arg->type, ": ", $arg->value, "\n";
}

特别是阅读消息类文档,其中解释了RPC::XML::request数据类的方法,后者解释了RPC::XML::string和朋友。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26603163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档