This does the job but I'm sure there must be a better way in 2005! If anyone can find out I'd be really interested to know.
DECLARE @dochandle integer
EXEC sp_xml_preparedocument @docHandle OUTPUT, @XML
SELECT @Flat = Flat, @HouseName = HouseName, @HouseNumber = HouseNumber,
@Street = Street, @District = District, @Town = Town, @County = County,
@Postcode = Postcode, @CountryCode = CountryCode, @AtAddressFrom = AtAddressFrom,
@AtAddressTo = AtAddressTo, @AddressType = AddressType
FROM OPENXML(@docHandle, '//Applicant/Addresses/Address', 2)
With (
Flat nchar(20),
HouseName nchar(32),
HouseNumber nchar(32),
Street nchar(40),
District nchar(40),
Town nchar(40),
County nchar(40),
Postcode nchar(10),
CountryCode smallint,
AtAddressFrom datetime,
AtAddressTo datetime,
AddressType smallint
)
INSERT INTO dbo.Addresses(
AddressType,
Flat,
HouseName,
HouseNumber,
Street,
District,
Town,
County,
Postcode,
CountryCode,
AtAddressFrom,
AtAddressTo
)
VALUES(
1,
@Flat,
@HouseName,
@HouseNumber,
@Street,
@District,
@Town,
@County,
@Postcode,
@CountryCode,
@AtAddressFrom,
@AtAddressTo
)
EXEC sp_xml_removedocument @docHandle
|