While there are many things that can be written about XML, the following statement captures the essence of an XML file:
An XML file is well formed poor-man self-describing flat vertical database that is a universal language for the web and other applications.
Tags (elements) has be be written correctly. If you open a tag you need to close a tag. etc.
Unlike HTML in which you have to use pre-existing elements like the <p> tags, <div> tags, etc., in XML you write your OWN elements (tags). By giving the element a descriptive names, the content of the elements will become self-describing. For example, you don't have to guess what to place in between a pair of elements like <firstname> </firstname>.
Flat refers to the fact that it is similiar to a single table or like Microsoft Excel which is consider a flat database. So there is no concept of multiple tables and relationships (one-to-one, one-to-many, etc.)
Because you don't need any special software, anybody can create basic xml data using notepad or Textpad.
Unlike like other databases that have the records displayed horizontally in a set of rows. XML "records" are displayed typically as repeating nodes whose record data is displayed vertically.
XML can "talk" to most programs...
CAUTION: It is important the if you create an set of <image> tags or any tag that represent an image that you DO NOT include spaces between the tags; otherwise, the image will not render in Dreamweaver (i.e., use <image>myimage.jpg</image> and not <image> myimage </image>).