use XML::DOM; my $parser = new XML::DOM::Parser; my $root_node = $parser->parsefile($field_definition_file); ##actually returns only one node my $simpleType_nodes=$root_node->getElementsByTagName("simpleType"); $simpleType_nodes->item(0)->createElement("length", value=>$maxlength_hash{$field_name} );