in reply to Inserting Multiple Records in DB.

Here's how I understand your problem. The XML you are interested in seems to have the following structure:

You want to store this data into a database by 'flattening' it. The pseudo-code would then go something like this:

for each CITY/replication node: my %v = (); $v{replication} = parsed replication value; $v{partno} = parsed Part_No value; for each AbCar node: my %v1 = %v; $v1{Ref} = parsed ref value; $v1{Fname} = parsed Fname value; # save %v1 here (to a db table or to a list) end for for each AbCarr node: my %v1 = %v; $v1{RefD} = parsed RefD value; $v1{Lic} = parsed Lic value; for each AbCarr/Warr node: my %v2 = %v1; $v2{VD} = parsed VD value; $v2{Billa1} = parsed Billa1 value; $v2{Billa2} = parsed Billa2 value; # save %v2 here end for for each AbCarr/ADCar node: my %v2 = %v1; $v2{REFI} = parsed REFI value; $v2{Carr} = parsed Carr value; # save %v2 here end for end for end for

You have three kinds of records. so I would expect there to be three different database tables.