Основными компонентами XML являются элементы. Они являются частями текста, ограниченного соовпадающими тэгами, такими как <menu> и </menu>. Внутри этих тэгов элемент может содержать "строку" текста, другой элемент или их комбинацию.

В примере с меню, <menuitem> называется открывающим тэгом, а </menuitem>  называется закрывающим тэгом. Открывающий и закрывающий тэги также называются разметкой, поскольку они размечают или объясняют данные. Одно из правил XML состоит в том, что эти тэги должны быть сбалансированы. Это означает, что они должны быть закрыты в обратном порядке по сравнению с тем, в котором они были открыты, как скобки. Тэги в XML определяются пользователем; нет предопределенных тэгов, как в случае HTML. Текст между открывающим и соответствующим закрывающим тэгами, включая вложенные тэги, называется элементом, а структуры между тэгами называются содержимым. Вложенные элементы - это отношения между элементом и составляющими его элементами. Поэтому, <price> … </price> является вложенным элементом <menuitem> … </menuitem> в нашем примере.

Один элемент включает в себя все другие - <restaurant> … </restaurant>. Это корневой элемент.

Мы используем повторяющиеся элементы с одинаковым тэгом для представления коллекции. В примере меню <menu> содержит один или несколько элементов <menugroup>, а <menugroup> могут содержать один или несколько элементов <menuitem>.

Элемент также может быть пустым, а пустой элемент может быть укороченным. Это выполняется путем помещения "/" в конце открывающего тэга, как в случае <menuitem/>.