What is XML?
XML is an acronym for eXtensible Markup Language. Its primary purpose is to allow the exchange of text between disparate applications while still being readable to humans.
What problem does XML solve?
If you've ever tried to exchange a nicely typed and formatted document between Microsoft Word and another text program, you probably ended up with a mess of unformatted text globules. Frustrating, right? Text is formatted behind-the-scenes with tags, and different programs use different tags to present text, and sometimes require proprietary software. This became a big problem as the Internet grew, because sites were trying to exchange data with HTTP, but programmers had to spend time changing tags to fit different applications. It was kind of like everybody in the world wanted to work together on this amazing new Internet thing, but everyone spoke a different language with its own grammar and syntax. XML was built to solve this exact problem; in the W3C's words, their goal was "making the internet more usable".
What does XML actually do?
Nothing! XML does nothing. It dispenses with the proprietary and arcane formats that were breaking the Internet as companies jostled for position, and offered plain, self-descriptive text, with the ability to structure and define your own data. While XML doesn’t actually do anything, it may be as fundamental to the web as HTML. XML is also extensible, which means when a system is upgraded, or an old document is read by new software, it still works! Sometimes, simplicity really is the greatest form of complexity.
What is the difference between HTTP and XML?
HTTP is used primarily for _presenting data_, while XML is for exchanging data in a way any program can read. HTTP uses predefined tags, meaning you know `<p>` is starting a para tag, and always will. XML has no predefined tags, which means the author defines and structures the data within as they see fit. This was part of the reason for XML's great success. Different industries could build their own standards with XML (in Document Type Definition, or `.dtd` format), but data within these structures still worked outside of the environment.
What is the difference between JSON and XML?
How can I use XML?
<?xml version="1.0" encoding="UTF-8"?>
<body>Don't forget me this weekend!</body>