I think this article might be interesting for you:
Comparing DataSets using LINQ[
^]
To read the XML data into data sets you can do like this:
DataSet dsOld = new DataSet("Old");
dsOld.ReadXml(@"XMLFile1.xml", XmlReadMode.InferSchema);
dsOld.AcceptChanges();
DataSet dsNew = new DataSet("New");
dsNew.ReadXml(@"XMLFile2.xml", XmlReadMode.InferSchema);
dsNew.AcceptChanges();