我正在尝试从Perl代理中生成的动态XML中检索内容。这是代码,
$show=$query->param('id_show');
$lang=$query->param('id_lang');
$filename="http://thetvdb.com/api/GetSeries.php?seriesname=".$show."&language=".$lang;
print "$filename </br>";
print "End of Program";
# use module
use XML::Simple;
use Data::Dumper;
# create object
$xml = new XML::Simple;
# read XML file
$data = $xml->XMLin("$filename");
print "$data </br>";
现在向我显示的错误是:
File does not exist: http://thetvdb.com/api/GetSeries.php?seriesname=Fringe&language=English at /cgi-bin/mytest.pl line 37
我后来想把这个xml内容发送到javascript,JS将解析内容并显示。
答案 0 :(得分:3)
嗯,这是因为我认为XML::Simple::XMLin()
方法不适用于HTTP链接。它可能使用的唯一合法数据源是文件名,IO :: Handle对象和字符串。
尝试使用LWP::Simple
模块获取此链接的内容(它为此情况导出非常方便的函数get()
),如下所示:
use LWP::Simple;
my $content = get($url_goes_here);
...然后将生成的$ content传递给XMLin。