Using XML as data storage
- by Kian Mayne
I was thinking about the XML format and the following quote:
“XML is not a database. It was never meant to be a database. It is never going to be a database. Relational databases are proven technology with more than 20 years of implementation experience. They are solid, stable, useful products. They are not going away. XML is a very useful technology for moving data between different databases or between databases and other programs. However, it is not itself a database. Don't use it like one.“ -Effective XML: 50 Specific Ways to Improve Your XML by Elliotte Rusty Harold (page 230, Part 4, Item 41, 2nd paragraph)
This seems to really stress that XML should not be used for data storage and should only be used for program to program interoperability.
Personally, I disagree and .NET's app.config file that's used to store a program's settings is an example of data storage in an XML file. However for databases rather than configurations etc XML should not be used.
To develop my point, I will use two examples:
A) Data about customers with fields that are all on one level i.e. there are a number of fields all relating to one customer with no children
B) Data about configuration of an application where nested fields and properties make a lot of sense
So my question is, Is this still a valid statement and is it now acceptable to store data using XML?
EDIT: I've sent an email to the author of that quote to ask for his input/extra context.