use strict; use warnings; use XML::TreeBuilder; my $xml = <<'END'; Aston Clinton Andy Barth 1 GB ANDY BARTH Aylesbury Daniele Dall'Acqua 2 GB DANIELE DALL'ACQUA Calne Nigel Drew 3 GB NIGEL DREW END my $tree=XML::TreeBuilder->new(); $tree->parse($xml); my @inventornums=$tree->find_by_tag_name('number'); foreach my $inventornum(@inventornums){ if ($inventornum->as_text()==2){ my $parent=$inventornum->parent(); print $parent->as_XML; } }