Ok I am building a fairly large scale application with alot of data being transfered, read, and written. Now I have dedicated this application to ONLY USING the .Net framework. Which means I'm using sockets.net, and the drawing2D instead of DirectPlay and Direct3D. Now I'm at the data storage portion of my code, my first though was to use a traditional database but that would take me out of the ".Net Only" frame of mind I'm attempting to stay in. So I need some advice on some alternative methods of data handling in .Net.

My question is will XML work for me?


Can I Serialize a Class to XML format to disk and
read the XML from disk to a DataGrid and edit values?

Can I create one large XML file that stores 1000's of records?

If I can create one large XML file (XML Database), can I search records quicly and efficently? Does XML support any kind of Key index's or anything of this nature?

Any feedback is appretiated...

Hinder