#!/usr/bin/perl use warnings; use strict; my $a = do {local $/; }; use XML::XPath; use XML::XPath::XMLParser; my $xp = XML::XPath->new(xml => $a); foreach my $cid ($xp->findnodes('/PartyA/com.Info')) { my $code = $cid->find('Rule/@action')->string_value; print "\n$code\n"; } __DATA__ A TQA Key com.csc_ClientKey 700 Sum A YWX Key com.csc_ClientKey 500 Sum