XML lost because it pretended to be human readable but it's actually a soup of punctuation, and pretended to be good for machines but is heavy to parse and transmit.
If there was an explanation for why XML lost to the likes of Avro and Thrift I didn't spot it.
I do think it's a shame that the only real alternative to JSON is the much more complex yaml, but I'll take it for most purposes.