use warnings; use strict; use XML::Twig; my $xmlstr = < Scarlet Red Gold Fuji Scarlet Bradford Cleveland Select Aristocrat Autumn Blaze EOF my $twig = XML::Twig->new(twig_handlers => {APPLE => \&apple}); $twig->parse($xmlstr); sub apple { my ($t, $elt) = @_; for my $type ($elt->children('TYPE')) { print $type->att('id'), "\n"; print $type->text(), "\n"; print "\n"; } } __END__ 1001 Scarlet 1002 Red 1003 Gold 1004 Fuji 1005 Scarlet