I think it depends on what you want to do with your XML in your database.
If you basically just save it and possibly retrieve it later in general and send it again, then I would definitely use the XML data type - there was no point in chopping it into bits and pieces.
If you need to mainly work with the contents of the XML file and possibly also manipulate and modify this content, then it would be advisable to create tables with columns in accordance with your XML content and destroy it when it is stored, use it, and when you need to , compile it from relational works using something like SELECT (columns) FROM dbo.Table FOR XML.....
There are overheads associated with shredding and reassembly, so you need to ask yourself if it's worth it. But there is also overhead if you need to manipulate the XML column too much.
If you only need read-only access to several attributes in your XML, I have come to understand the ability to wrap them in UDF and direct it as a computed column in your table. That way, you can easily select something from your table based on the values ββthat are stored somewhere inside your XML - pretty handy! But do not abuse this approach - it works great for 2, 3 attributes, but if you need to access your XML (and most or all of it) again and again, then you might be better off crossing it with relational parts to start with.
marc_s
source share