我正在尝试将xml输出保存到没有智能包的xml文件但无法执行此操作。
use warnings;
use strict;
use XML::Simple;
my $xml;
my @hash = qw('test' '60.0' 'test1' '103' 'test2' '20' 'test3' '108');
my %hash1 =@hash;
my $hash2 = \%hash1;
my $xs = new XML::Simple;
$xml = $xs->XMLout($hash2 ,
NoAttr => 1,
RootName=>'newPhone',
);
print $xml;
$xml->save('newfile.xml') ;
答案 0 :(得分:2)
XML::Simple
中没有神奇的save
方法。如果您尝试使用代码,则会收到一条错误消息,告诉您:
Can't locate object method "save" via package "<newPhone>..."
相反,要输出到文件,只需打开文件句柄并打印到它:
use warnings;
use strict;
use autodie;
use XML::Simple;
my %hash = qw(test 60.0 test1 103 test2 20 test3 108);;
my $xs = new XML::Simple;
my $xml = $xs->XMLout(\%hash,
NoAttr => 1,
RootName => 'newPhone',
);
open my $fh, '>', 'newfile.xml';
print $fh $xml;
close $fh;
答案 1 :(得分:1)
use warnings;
use strict;
use XML::Simple;
my $xml;
my @hash = qw('test' '60.0' 'test1' '103' 'test2' '20' 'test3' '108');
my %hash1 =@hash;
my $hash2 = \%hash1;
my $xs = new XML::Simple;
$xml = $xs->XMLout($hash2 ,
NoAttr => 1,
RootName=>'newPhone',
);
#print $xml;
open (FH, '>newfile.xml') || die "unable to create $!";
$xml = qq{<?xml version="1.0" encoding="UTF-8"?>\n} . $xml;
print FH $xml;
close (FH);
答案 2 :(得分:0)
考虑使用我的XML::MyXML
模块,它保存,没有依赖关系,并且适用于小型XML文档。