Получение содержимого динамического XML в переменную в Perl - PullRequest
0 голосов
/ 28 февраля 2012

Я пытаюсь получить содержимое из динамического XML, созданного в прокси Perl.вот код,

$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 будет анализироватьсодержание и отображение.

1 Ответ

3 голосов
/ 28 февраля 2012

Ну, это потому, что XML::Simple::XMLin() метод не работает с HTTP-ссылками, я полагаю. Единственными законными источниками данных, которые он может использовать, являются имена файлов, объекты IO :: Handle и строки.

Попробуйте извлечь содержимое этой ссылки с помощью модуля LWP::Simple (он экспортирует очень удобную функцию get() прямо для этого случая), например:

use LWP::Simple;
my $content = get($url_goes_here);

... затем передайте полученный $ контент в XMLin.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...