In the VS command prompt that is part of the VS SDK you can enter the following to generate an xsd file from an xml file:
xsd XMLfilename.xml
This will generate an xsd file with the same name as the xml file
Then you can enter:
xsd [.xsd file generated from above] /d /language:CS
This will generate a .cs file with the same name as the .xml and .xsd from above. In your program you can then load the xml file into a dataset in memory and query it programmatically using the class that was generated for that xml file.
I am searching for a way to perform the above steps programmatically rather than using the command prompt.