The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

XML::Hash::XS - Simple and fast hash to XML conversion

SYNOPSIS

    use XML::Hash::XS;

    my $xmlstr = hash2xml \%hash;
    hash2xml \%hash, output => $FH;

DESCRIPTION

This module implements simple hash to XML converter written in C using libxml2 library.

FUNCTIONS

hash2xml $hash, [ %options ]

$hash is reference to hash

    hash2xml
        {
            node1 => 'value1',
            node2 => [ 'value21', { node22 => 'value22' } ],
            node3 => \'value3',
            node4 => sub { return 'value4' },
            node5 => sub { return { node51 => 'value51' } },
        },
        indent => 1
    ;

will convert to:

    <?xml version="1.0" encoding="utf-8"?>
    <root>
      <node1>value1</node1>
      <node2>
        <item>value21</item>
        <item>
          <node22>value22</node22>
        </item>
      </node2>
      <node3>value3</node3>
      <node4>value4</node4>
      <node5>
        <node51>value51</node51>
      </node5>
    </root>

OPTIONS

root [ = 'root' ]

Root node name.

version [ = '1.0' ]

XML document version

encoding [ = 'utf-8' ]

XML output encoding

indent [ = 0 ]

if idnent is "1", XML output should be indented according to its hierarchic structure.

if indent is "0", XML output will all be on one line.

output [ = undef ]

XML output method

if output is undefined, XML document dumped into string.

if output is FH, XML document writes directly to a filehandle or a stream.

AUTHOR

    Yuriy Ustushenko, <<yoreek@yahoo.com>>

COPYRIGHT AND LICENSE

Copyright (C) 2012 Yuriy Ustushenko

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.