XML is a relatively powerful syntax for encoding data. It fits well for describing hierarchical data structures, it is easy to parse, and it is easy to debug. XML didn't really invent anything new. It's just more flexible - admittedly carrying certain costs wrt performance. For example, character encoding has historically caused cold shivers... Not with XML. XML also has built-in validation frameworks, DTD and XML Schema, which are missing from many other formats.