>>5
Simple XML can actually be a decent, lightweight file format for a lot of purposes. HTML, for example.
Almost everything wrong with it can be traced back to Java developers, who unfortunately have taken a liking to writing their ad hoc, informally-specified, bug-ridden, slow implementations of half of Common Lisp in it. SOAP and ilk are wrong on so many levels. But Java and its fold can make anything look bad.
If you strip out the crud (namespaces and doctypes and whatnot),
you have a simple way to represent generic hierarchical content.
Now for internal passing of simple structured data, like Javascript - Server communication, JSON is miles ahead, but I won't be using it for a document format anytime soon.