#pseudo code struct SubFields => { Description => '$', Date => '$', }; my $s = XML::Simple->new; my $tree = $s->XMLin($someFile); my $subfields = SubFields->new(); $subfields->Description ( $tree->{ImportantStuff}->{VeryImportantStuff}->{Item1}->{Description} ); print Dumper($subfields); print Dumper($tree);