当 XML 位于对象中时如何使用 XML::Simple?
我有这段代码
#!/usr/bin/perl -w
use strict;
use URI;
use LWP::UserAgent;
use Data::Dumper;
use XML::Simple;
my $DBVersion = '';
my $url = URI->new('https://example.com');
$url->query_form(
'sql' => 'select email,firstname from account for xml auto',
'DBVersion' => $DBVersion
);
my $response = LWP::UserAgent->new->get($url);
die "Error: ", $response->status_line unless $response->is_success;
print $response->content;
现在我想在 $response->content
上使用 XML::Simple
。
从我可以看到他们使用了
my $doc = $xs1->XMLin($file);
foreach my $key (keys (%{$doc->{species}})){
print $doc->{species}->{$key}->{'common-name'} . ' (' . $key . ') ';
print $doc->{species}->{$key}->{conservation}->final . "\n";
}
但是我的XML数据不是在文件中,而是在 LWP 模块创建的对象中。
如何使用 XML::Simple
解析该数据?
I have this code
#!/usr/bin/perl -w
use strict;
use URI;
use LWP::UserAgent;
use Data::Dumper;
use XML::Simple;
my $DBVersion = '';
my $url = URI->new('https://example.com');
$url->query_form(
'sql' => 'select email,firstname from account for xml auto',
'DBVersion' => $DBVersion
);
my $response = LWP::UserAgent->new->get($url);
die "Error: ", $response->status_line unless $response->is_success;
print $response->content;
And now I would like to use XML::Simple
on $response->content
.
From can I see that they use
my $doc = $xs1->XMLin($file);
foreach my $key (keys (%{$doc->{species}})){
print $doc->{species}->{$key}->{'common-name'} . ' (' . $key . ') ';
print $doc->{species}->{$key}->{conservation}->final . "\n";
}
But my XML data in not in a file, but in an object created by the LWP module.
How can I parse that data with XML::Simple
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
XMLin()
可以接受 XML 字符串作为参数:参见 perldoc XML::Simple 了解详细信息。
XMLin()
can accept a string of XML as a parameter:See perldoc XML::Simple for the details.