use warnings; use strict; use XML::LibXML; my $xml = <<'END_XML'; END_XML my $dom = XML::LibXML->load_xml(string => $xml); my @nodes = $dom->findnodes('//result_summary'); die "Failed to find exactly one result_summary node" unless @nodes==1; my %attrs = %{ $nodes[0] }; use Data::Dumper; print Dumper(\%attrs); __END__ $VAR1 = { 'total_records' => '594', 'feed_version' => '1.44', 'time_start' => '2020-02-19 15:50:55', 'download_key' => 'xmxnxnxnxnxnxnxnxnx', 'total_pages' => '3', 'records_this_page' => '250', 'current_page' => '1' };