http://www.perlmonks.org?node_id=924747


in reply to XML::Simple => XMLout()

XML::Simple tends to guess how to simplify the data structure and produces inconsistent structures for tags that are sometimes repeated and sometimes occur just once. Or tags that sometimes have content and attributes and sometimes just the content.

It's better to specify explicitly what and how do you want to keep from the tags. See Simpler than XML::Simple.

use strict; use XML::Rules; my $parser = XML::Rules->new( stripspaces => 7, rules => { local => sub { '%local' => {$_[1]->{name} => $_[1]->{value}} } +, regional => sub { '%regional' => {$_[1]->{name} => $_[1]->{val +ue}} }, parmsets => 'by name', opt => 'pass', } ); use Data::Dumper; my $data = $parser->parse(\*DATA); print Dumper($data); __DATA__ <opt> <parmsets name="EXAMPLE2"> ...

Jenda
Enoch was right!
Enjoy the last years of Rome.