I am developing a C# application that monitors a directory on a server for XML files. These XML files are written to this directory through a separate application. What my application needs to do is grab the XML file, parse it, insert the data into a database, and remove the file to separate location. I am using the file system watcher class for listening to the files. My question is what is the best way to read these XML files? Should I read them into a dataset or is there another efficient way of doing it? I am a novice .NET developer so any help will be appreciated.