use strict; use warnings; use XML::LibXML qw( ); my $xml = <<'__EOI__'; 101010101 success 11 1111222233334444555 7.00 X111111111111111 22222222 33333333 Transfer Completed __EOI__ my $root = XML::LibXML->new->parse_string($xml)->documentElement; my %data = map { $_->nodeName => $_->textContent } $root->findnodes('/*/*'); #### use strict; use warnings; use XML::Simple qw( :strict ); my $xml = <<'__EOI__'; 101010101 success 11 1111222233334444555 7.00 X111111111111111 22222222 33333333 Transfer Completed __EOI__ $XML::Simple::PREFERRED_PARSER = 'XML::Parser'; # Fastest backend my $parser = XML::Simple->new( ForceArray => [], KeyAttr => {} ); my $data = $parser->XMLin($xml);