Updating XML config files
Preferably I'd like to just be able to update that node in the XML file without having to rewrite the whole file every time a change is made.


In general, that's simply not possible, because XML is a text-based format.

Imagine you have the following file:



&lt;UserSettings&gt;
    &lt;Name&gt;Aron&lt;/Name&gt;
    &lt;!-- other settings here --&gt;
&lt;/UserSettings&gt;


Now you want to fix the name from “Aron” to “Aaron”:

&lt;UserSettings&gt;
    &lt;Name&gt;Aaron&lt;/Name&gt;
    &lt;!-- other settings here --&gt;
&lt;/UserSettings&gt;


But doing this means that everything that's after the Name line has to be moved by one byte in the file, so almost the whole file has to be rewritten.

With config files, this usually doesn't matter, because they tend to be relatively small. If it does matter to you, you will have to use another way of saving the config; a good choice might be an embedded database, like SQL Server Compact or SQLite.

Yet another option would be to use .settings files (built-in in VS). It doesn't save you from rewriting the file, but it saves you from having to write all that code.