PaoloM wrote:
Processing any file incurs in an overhead. The issue is to define the acceptable tradeoff between performance hit and easy of maintenance/compatibility.

People use XML because it's very very simple to parse Xml documents in every system using standardized techniques. Yes, it's a bit slower, but then raw binary sector read from the disc is faster than anything else


Agreed, it all comes down to interoperability, if there's a chance that another program or machine will be using the same data as your application (or data used by your application) then XML is a good choice because chances are whatever technology that the other program uses will also have XML support making it easier to integrate your data.  If you create proprietary file formats it may be easier to process but it becomes much more difficult to share data,  especially when you consider the existing technology and standards (XSLT for example).

However, XML isn't the solution to everything and unless your going to be injesting data and/or sharing data a proprietary format could very well be the best solution.