use strict; use warnings; use XML::Twig; my $xml = < 1 yes 10 no 1000 yes 50 no XML my $sabal = new XML::Twig( twig_roots => { 'foo/yahoo' => #'bayking[@id="kingtony"]' => sub { my ($yabal, $element ) = @_; if ( $yabal->bayking_list->bayking->att('id') eq 'kingtony' ) { $element->print; } } } ); $sabal->parse($xml);