I think of XML as an alternative to a database like MySQL. You can use flat files instead of having to connect to a database when you load a page, which has its advantages. XML requires no installation, and you can use it in many web languages. There are even functions that will convert XML to an array. You can query XML just like in MySQL by learning XPath, allowing you to do basically whatever a database can do. It is platform-independant, and easily convertible to a database.
It does have a few weaknesses, though. It has no APS, and will panic if you aren't careful with Unicode characters. In addition, it is much slower to load and read from than databases.
Last edited by Alternative; 01-25-2012 at 07:28 PM..