Let me toss my cents into it.
First, XML wasn’t made for humans or computers. XML is derived from SGML, which was designed to be a “Standard Generalized Markup Language”. Ie, it was supposed to “markup” (add metadata to data), and to be sufficiently generic to be able to handle anything whatsoever.
XML was derived the following way: ok, we have this very flexible thingy. It’s too flexible and complex to use. Let’s get a subset which will be able to handle hierarchical data, which will solve a specific subset of problems we have.
For some reason, no one is allowed to do that anymore. Ie, say it’s too flexible and complex.
Frankly, if your answer is “XML is here to stay, deal with it”, then go do anatomically impossible things to yourself. Not everyone is happy with XML and XML will not pervade everything. Deal with it.
If your answer is “if you think this is too complex, add more complexity (eg, specialized tools, XSLT) to hide the complexity”, then… ah, hell, I’ll wait for understanding to dawn on you. Or not. Basic concepts can’t be explained, and KISS is a basic concept.
If I have a table with many, many rows and a limited number of columns, I’ll use CSV. If I have hierarchical data I’ll use XML. I might use JSON or YAML too, but I’ll probably settle on XML. XML can’t handle non-hierarchical data, so I’d have to go for YAML or something else.
And if the data has to be accessed many times in many different ways, or be constantly updated, then I’ll use a database.
I’ll bet people who advocate “XML or death” probably won’t see the possibility of using a language other than any of the mainstream languages (for their own definition of mainstream). It’s a mindset, emphasis on set.