swdave:
To answer your question on those XML overhead, actually you are right, but it is there for a reason, that's to increase the robustness of the XML parser, i.e. avoid syntax error.
XML might be overkill you use it to describe a simple set of data, for example just a name-value pair like you mentioned.
The power of XML comes when you deal with parent child relationship object descriptions, and attributes, for example
<spaceship>
<weapons>
<gun type="laser"/>
<missile type="photon"/>
</weapons>
<equipments>
<hatch posX="110" posY="200">
<airlock posX="320" posY="200">
</equipments>
...
...
</spaceship>
I know that you might argue that you can convert all these into the form of name-value pair. The way above looks more cleaner logical, and also more extensible (if you can see it how). In terms of performance, XML parser actually had done a lot of research into optimizing their parsing engine. If you take a look at MSXML, it can load a DOM structure from an XML file at around 6MB / second. Can you imagine that?? That will read around 110,000 XML nodes per second. [Refer to MSDN].
Bad Nose Entertainment - Where games are forged from the flames of talent and passion.
http://www.badnose.com/