Be very careful with flatten to string. If you don't know the exact format of the data, you will not be able to decode it. Experience has shown that storing flattened strings in databases is usually a bad idea, as the format tends to get lost, leaving you with worthless data. It's more work to convert it to human readable strings, but will be worth it in the long run. If you do go the flattened string route, make sure you have a format version number stored as well, so you can change the data format and still decode it. This is another reason to convert it yourself - partial reading of a changed format with old code is still possible (if you think about it up front and design for it).
Flatten to XML solves some of these problems but leaves others. The major problem is conversion of numerics. The format is fixed and cannot be changed. If it works for you - great. If not - use something else.
Take home message - if you want a robust, long-term solution, parse the data into text fields for the database. If you want a quick-and-dirty short-term solution, use flatten to string or XML.