It sounds pretty nasty. i'm not sure if any of our xml stack will cope with the multiple <?xml tags.

Can you process it in the middle tier maybe?
Use string / regex stuff to pull out the fragments and then process them into some sql friendly strucure ( generate a batch of inserts maybe? ) using an xmlreader over the fragments?