Many people hate XML more than JSON, and I would agree with them. I hate both, and prefer yaml.
As for XML: namespaces, DTDs, entities, XSD, XSL, XPath, and on and on, have resulted in some absolutely horrendous architecture astronautism. XML itself is (mostly) perfectly fine but there are too many unqualified people in the industry wielding XML, poorly, and creating massive headaches. XML also presents some interesting security challenges.