use XML::Rules; my $xml = <<'*END*'; John Doe 43 M Operations Jane Doe 31 F Accounts Be Goode 32 M Human Resources *END* my $parser = new XML::Rules ( rules => [ _default => 'as array trim', ] ); my $data = $parser->parse($xml); use Data::Dumper; print Dumper($data); print $parser->toXML( 'employees', $data->{employees}[0]);