如何使用 XML::Simple 将 XML 数据保存到文件中?

发布于 2024-08-18 05:57:04 字数 257 浏览 6 评论 0原文

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

 print Dumper($data);

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

I'm using XML::Simple package to import an XML file and change a few properties of some of the child tags. The change is visible when the data is dumped with:

 print Dumper($data);

But how can I write this edited data into a new XML file? I did go through the CPAN page, but some code regarding this would really help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

过气美图社 2024-08-25 05:57:04
my $ref = XMLin(...);

# ...

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

# ...

open my $fh, ">", $path or die "$0: open $path: $!";
print $fh XMLout($ref);
close $fh or warn "$0: close $path: $!";
一花一树开 2024-08-25 05:57:04

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');

文件 out.xml 的内容是:

<opt dir="/tmp/foo/" file="/tmp/foo.debug">
  <abc name="bill" num="55" />
  <abc name="mike" num="42" />
</opt>

Use the XMLout method with the OutputFile option. Here is an example (names have been changed to protect the innocent :):

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');

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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文