An interview with Elliote Rusty Harold in which he discusses the question: What’s Wrong with XML APIs?
Some APIs, such as DOM, are simply wildly broken and complex in ways that they don’t need to be. Other APIs are too simple in that they don’t completely and correctly model XML. These APIs try to pretend that XML is simpler than it actually is.
Any reasonable XML API will have some rough spots, because XML has rough spots. Some of those rough spots are design flaws in XML, but an API shouldn’t be trying to fix that. A few APIs are both too simple and too complicated at the same time. The designers tried to throw in so many features that the API became excessively complex and hard to understand simply by its sheer size, while at the same time, they didn’t actually get all aspects of XML correct.