XML may sound scary to people who don't have a computer programming background, but if you're familiar with HTML, you already have a good idea of how XML works.
Both HTML and XML are markup languages. HTML is short for "Hypertext Markup Language", XML is short for "Extensible Markup Language". They both use similar tags to help give more information about the content they surround.
HTML is used mainly to "mark up" text for web pages. The tags help format the text, and define other objects like images and embedded content.
XML, on the other hand is a wide open format. There are no pre-defined tags that do anything. XML is used mainly for defining Data, and you get to make up your own tags that describe the data. Here is a very simple example:
<myData type="text">
This is my data
</myData>
In this example myData is a tag that we made up to describe the contents. Then type is an attribute.
This is my data is a child node of text type. Then, as with HTML, each tag has a closing tag, which starts with a "/" character.
Nested Tags
XML tags can be nested, meaning that you can have as many tags inside other tags as you need. Here's an example of nested tags:
<subscribers>
<subscriber type="paid">
<name>Albert Einstein</name>
<stats>
<gender>male</gender>
<age>75</age>
<maritalStatus>single</maritalStatus>
</stats>
</subscriber>
<subscriber type="comp">
<name>Hillary Clinton</name>
<stats>
<gender>female</gender>
<age>59</age>
<maritalStatus>married</maritalStatus>
</stats>
</subscriber>
</subscribers>
Keep in mind that you can make up whatever tag names you need, and it is a good idea to make your tag names something that make sense (assuming that you're in control of the XML specification).