I'm using XML for program information, and found it to be quite flexible: I'm using a small XML document to store a set of database file names and server information for something like this....when I ask the program to open an XML file, I inspect the contents of the file, determine what is in it, and open the database files specified in the XML document. The amount of code to pull and save information into the XML document is much more than I wish it were (it took about 100 lines of code to wrap a simple 3 item XML document and allow the object to be persisted). I've not yet devised a "better" mouse trap, but there are a couple ways to make life easier: One possible solution would be to write a class generator based on an XML document, but I suspect that would be a never ending battle, and might not help much....