Hed*_*ips 1 xml perl xml-simple
我使用以下脚本:
#!/usr/local/bin/perl -wT
use strict;
use warnings;
print "Content-type: text/html\n\n";
print "xml reader";
# use module
use XML::Simple;
use Data::Dumper;
#print Dumper (XML::Simple->new()->XMLin());
Run Code Online (Sandbox Code Playgroud)
它将在我的xml文件中读取,名为xml.xml
如果我现在将xml文件移出我的cgi-bin,请更改其名称并使用以下命令引用它:
#print Dumper (XML::Simple->new()->XMLin("../resource.xml"));
Run Code Online (Sandbox Code Playgroud)
它仍然有效.
如果我现在尝试使用url而不是脚本不返回任何内容:
print Dumper (XML::Simple->new()->XMLin("http://digitalessence.net/resource.xml"));
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用和不使用http://,没有www和各种不同的方法,但它不会返回任何内容.
我在这里做过傻事还是不加载远程网址?
谢谢.
该XMLin()方法XML::Simple不支持从URL获取XML.在应用之前,您需要单独获取XML,文件或直接获取Perl标量变量XMLin().这从XML::Simple文档中可以清楚地看出.
您可以按如下方式修改程序,使用LWP检索远程资源:
[...]
# use module
use XML::Simple;
use LWP;
use Data::Dumper;
my $ua = LWP::UserAgent->new;
my $req = HTTP::Request->new( GET => "http://digitalessence.net/resource.xml" );
my $res = $ua->request( $req );
print Dumper (XML::Simple->new()->XMLin( $res->content ));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2495 次 |
| 最近记录: |