代码之家  ›  专栏  ›  技术社区  ›  fixxxer

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

  •  0
  • fixxxer  · 技术社区  · 15 年前

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

     print Dumper($data);
    

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

    2 回复  |  直到 14 年前
        1
  •  2
  •   Greg Bacon    15 年前
    my $ref = XMLin(...);
    
    # ...
    
    open my $fh, ">", $path or die "$0: open $path: $!";
    print $fh XMLout($ref);
    close $fh or warn "$0: close $path: $!";
    
        2
  •  2
  •   toolic    15 年前

    使用 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>
    
    推荐文章