我有这段代码
#!/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;
现在我想在XML::Simple
上使用$response->content
。
From我可以看到他们使用
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
解析该数据?
答案 0 :(得分:2)
XMLin()
可以接受一串XML作为参数:
use XML::Simple;
my $ref = XMLin($response->content);
有关详细信息,请参阅perldoc XML::Simple。