XML is somewhat different from other standards, because it is very easy to understand XML on a basic level by simple examples, it is easy to write your first XML markup and implement a piece of code that processes it. However, XML, like any other technology, gets just as complex as you get deeper. Yes, most of the time you don't need the complexity, but sometimes you sorely do.
Most resources you will find on the web about XML do not dive into the details that you need from time to time. For instance, the sort of "quick tutorial by examples" will not help you at all when you need to implement something as complex as an XML editor, or need to dive into a document management standard like DITA, where you need to learn the concepts, terminology and dirty details of XML.
In such cases your last resort is to read the standard - not that appealing. In this case, there is a viable alternative: buy this book. The book tries to accomplish to serve both as a reference and a tutorial, and I think it succeeds quite well at this nearly impossibly task. The text is heavy duty, simply because it always uses - as far as I can tell - the correct term. There is a point of difficulty beyond you have to know what the difference is between a general parsed entity and a parameter entity.
It is also good that this book is not the kind which weighs 2 pounds, has immense amount of examples inside beautifully typed boxes with different background. The samples are minimal and always to the point. The diagrams are the type that you would put your bookmark on them had you bumped into them on the web.
In fact, this book is one of those books that one must have on their shelf. It explains the standard and the reason behind the wording of the standard, and pretty much everything you'll ever need to learn, although I am sure that if you wanted dive into, say, XSLT, there are books dealing with that only.