I've spent time on the difficult end of black-boxing a BINARY file format. You jokers with your XML and LABELS have it faaaaaar too easy. Here, I'll tell you my secret:
Gather as many saved files as you can, from as diverse of a group as possible. (there is NO upper limit, literally grab as many as you can) Write a short little test script to import and then export every single one. Then compare the export with the original. Refer the mismatches to the dev. I had over 1,000 test files in my suite, and in the initial release only a SINGLE flag was missed, because of all those test files, nobody implemented that feature and the dev guessed the storage would be the same as EVERY other one. (it turned out to be quite unique)
Oh and as for XML depth.... it's RECURSION. It literally does not care if it's 5 levels or 200 levels deep. (unless your IDE has a truly pathetic stack size)
So it's not difficult. QYB.