Hi folks, not sure if this is the place to post this sort of questions as it's perhaps more of a design issue. Our Android app currently receives data as XML files. These XML files are parsed, written to a sqlite database and then read into objects for use by the code. Once the app is finished with the data, it saves back to the database, reads the database back into an XML file and then sends it off to our servers.
I was wondering if we really needed to do this for our iOS app. We've got an .xsd for the XML files and Visual Studio has a tool (called xsd) that automatically generates a wrapper class for the XML. This class can be populated directly from the XML file. It can also write directly back to the XML file. So, I was planning on not having a database at all and just saving the XML file directly to the iOS device. This has the advantage of
(a) Not having to split the XML into logical db tables (b) Not having to write serialize/deserialize code from the db (c) Not having to write POCO objects for the data
the disadvantages are (I think)
(a) CRUD operations would have to write the whole XML file every time. The XML files shouldn't be too big, but I don't really know how the file system on iOS performs and at what point (> 10 MB for instance) writing the whole XML file for even the smallest change would become untenable.
What do people think? Again apologies if this isn't the appropriate forum for this.