0

我正在使用XML::Simple包来导入 XML 文件并更改一些子标签的一些属性。当数据被转储时,更改是可见的:

 print Dumper($data);

但是如何将这些编辑后的数据写入新的 XML 文件中呢?我确实浏览了 CPAN 页面,但是有关此的一些代码确实会有所帮助。

4

2 回答 2

2
my $ref = XMLin(...);

# ...

open my $fh, ">", $path or die "$0: open $path: $!";
print $fh XMLout($ref);
close $fh or warn "$0: close $path: $!";
于 2010-01-13T14:59:41.490 回答
2

使用XMLout带有OutputFile选项的方法。这是一个示例(名称已更改以保护无辜者:):

use strict;
use warnings;
use XML::Simple;

my $href = {
      'dir'        => '/tmp/foo/',
      'file'       => '/tmp/foo.debug',
      'abc'        => {
          'boo' => {
              'num'     => '55',
              'name'    => 'bill',
          },
          'goo' => {
              'num'     => '42',
              'name'    => 'mike',
          },
      }
};

my $xml = XMLout($href, OutputFile => 'out.xml');

__END__

The contents of the file 'out.xml' are:

<opt dir="/tmp/foo/" file="/tmp/foo.debug">
  <abc name="bill" num="55" />
  <abc name="mike" num="42" />
</opt>
于 2010-01-13T15:03:03.883 回答