use XML::Simple; use Data::Dumper; $xml = new XML::Simple (KeyAttr => [],suppressempty => 1,ForceArray => ['pointTmc']); $data = $xml->XMLin("try.xml"); #print Dumper($data); for my $pointTmc ( @{$data->{linears}->{linear}->{pointTmc}}) { print "$pointTmc->{dataTypes}->{dataType}->{speedSources}->{speedSource}->{speed} \n"; # print "$pointTmc->{dataTypes}->{dataType}->{speedSources}->{speedSource}->{timestamp} \n"; }