As far as writing Xml to a file and then reading it back into a dataset, that should be straightforward. Here are two links:
DataSet.ReadXml(string fileName)
and
CodeProject: Convert XML Data to DataSet and Back.
You ask:
Do I have to ... Create command parameters based on the records in the Dataset
Well, the Insert and Delete parameters would be based on the fields. However, if you use a DataAdapter and call the DataAdapter.Update method
IDataAdapter.Update Method (System.Data) to send any changes back to the database, then you probably can base this on the RowState of the rows you want to update or delete. However, you would have to load the original rows, then delete or insert the new rows within the DataSet, then call AcceptChanges(), and then DataAdapter.Update().
Yes, you will have to set the Update and InsertCommand text or stored procedure. You can try using CommandBuilder.GetUpdate/InsertCommand method, but if you ever look at what it actually produces, it is very verbose.
I have done the following to update/insert from a dataSet based off xml:
1. In SqlServer, you can actually send the XmlDocument as a stored procedure parameter...that is cool...but you are using Access.
2. Fill a DataSet and use the CommandBuilder to generate the Insert/Update/Delete Commands.
3. Write my own sql text command or stored procedures which basically take only the needed fields to do the update or delete. The Command Parameter(s) can be hooked up to one or more DataTable columns, and the DataSet can be updated in such a way that the command/stored procedure is run against each row.