Как я могу сохранить данные XML в файл с XML::Simple?

Я использую пакет XML::Simple для импорта файла XML и изменения некоторых свойств некоторых дочерних тегов. Изменение видно, когда данные сбрасываются с помощью:

 print Dumper($data);

Но как я могу записать эти отредактированные данные в новый файл XML? Я прошел через страницу CPAN, но некоторый код относительно этого действительно помог бы.

2 ответа

Решение
my $ref = XMLin(...);

# ...

open my $fh, ">", $path or die "$0: open $path: $!";
print $fh XMLout($ref);
close $fh or warn "$0: close $path: $!";

Использовать 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>
Другие вопросы по тегам