Quick Google search explained everything better than I could of:
http://www.daniweb.com/web-development/databases/mysql/threads/334846/xml-vs-sqlhttp://lists.survex.com/pipermail/cave-surveying/2001-January/000053.htmlFor my input: both products were made for completely different purposes. SQL is for storing data to an infinite number of records. It is damn fast and therefore used with tasks where time is critical, such as banking operations or some other stuff.
XML on the other hand is good to store some stuff... it takes much longer to process the XML to make it manipulatable.
If you're going to just store the data, don't have a shit load of data to store and won't access it every minute, then XML is the answer. Otherwise SQL is the thing to use.
Of course this may change depending on the situation etc...
One example for me:
Let's say I have a list of books in format "Author-title-year". I have about 100 of them and I want to store them somewhere better than plaintext. For this I would choose XML, because I don't have lots of those, I won't be accessing the data often.
Let's say I want to make a geological tree of my family with all the attributes (name, lastname, birth date, pet name etc.). Even though I won't be accessing the data very often or share it, I would go with SQL, because it is flexible with queries, don't require parsing which may take lots of time if I have 1000 of records. And if I wanted to filter some data, with XML I'd have to write some scripts to do...
Hope you understood what I explained