[Perl] XML-SimpleによるXML生成



XML::Simpleの入手

CPANから入手できる。
http://search.cpan.org/~grantm/XML-Simple-2.18/lib/XML/Simple.pm

XMLの読み込みのサンプルコード

XMLin関数を使って、XMLをハッシュリファレンスに落とし込むことが出来る。

use strict;
use XML::Simple;
use Data::Dumper;
{
    package Data::Dumper;
    # Data::Dumper がUTF-8をエスケープしないためのHack
    sub qquote { return shift; }
}
$Data::Dumper::Useperl = 1;


binmode STDOUT, 'utf8';


my $xml = '<?xml version="1.0" encoding="UTF-8" ?>
<root>
<Prefecture>Tokyo</Prefecture>
<Person age="30">Taro Yamada</Person>
</root>';

# XMLをハッシュに変換する。
$ref = XMLin($xml, ForeArray => 1);

print Dumper $ref;
$ perl xmlin.pl
$VAR1 = {
          'Prefecture' => [
                            'Tokyo'
                          ],
          'Person' => [
                        {
                          'content' => 'Taro Yamada',
                          'age' => 30
                        }
                      ]
        };

XMLの生成 サンプルコード

XMLout関数を使って、XMLを出力することが出来る。

use strict;
use XML::Simple;
use Encode 'encode';
use utf8;
binmode STDOUT, 'utf8';

my $VAR1 = {
          'Prefecture' => [
                            'Tokyo'
                          ],
          'Person' => [
                        {
                          'content' => 'Taro Yamada',
                          'age' => 30
                        }
                      ]
        };

print XMLout($VAR1, RootName => 'root');
$ perl xml.pl
<root>
<Person age="30">Taro Yamada</Person>
<Prefecture>Tokyo</Prefecture>
</root>
</pre>

構築環境

XML::Simple 2.14, Perl 5.10.1

参考文献

初めてのPerl 第5版 続・初めてのPerl 改訂版 入門XML

Comments are closed.