Дерево XML

XML документы формируют древовидную структуру, которая начинается с "корневого" элемента и разветвляется на "дочерние" элементы.

Древовидная структура XML документа

Дерево XML
Дерево XML

Приведенное изображение представляет одну книгу из следующего XML документа:


<bookstore>
   <book category="COOKING">
      <title lang="en">Everyday Italian</title>
      <author>Giada De Laurentiis</author>
      <year>2005</year>
      <price>30.00</price>
   </book>
   <book category="CHILDREN">
      <title lang="en">Harry Potter</title>
      <author>J K. Rowling</author>
      <year>2005</year>
      <price>29.99</price>
   </book>
   <book category="WEB">
      <title lang="en">Learning XML</title>
      <author>Erik T. Ray</author>
      <year>2003</year>
      <price>39.95</price>
   </book>
</bookstore>

XML документы формируют древовидную структуру

XML документ должен содержать корневой элемент. Этот элемент является "родительским" для всех других элементов.

Все элементы в XML документе формируют иерархическое дерево. Это дерево начинается с корневого элемента и разветвляется на более низкие уровни элементов.

Все элементы могут иметь подэлементы (дочерние элементы):


<корневой>
   <потомок>
      <подпотомок>.....</подпотомок>
   </потомок>
</корневой>

Для описания взаимоотношений между элементами обычно используют термины "родитель", "потомок" и "брат"/"сестра". У "родительского" элемента есть "потомки" или "дочерние" элементы. "Потомки" на одном и том же уровне называются "братья" или "сестры".

У всех элементов могут быть текстовый контент и атрибуты (также как в HTML).

У XML самоописательный синтаксис

XML документы используют простой и самоописательный синтаксис.

Рассмотрим такой пример XML файла:


<?xml version="1.0" encoding="UTF-8"?>
<note>
   <to>Tove</to>
   <from>Jani</from>
   <heading>Напоминание</heading>
   <body>Не забудь обо мне в эти выходные!</body>
</note>

Первая строка - это XML декларация или пролог. Здесь определяется версия XML (1.0) и кодировка символов:


<?xml version="1.0" encoding="UTF-8"?>

На следующей строке описывается корневой элемент документа - <note>:


<note>

Следующие строки описывают 4 дочерних элемента корневого элемента - <to>, <from>, <heading>, <body>:


<to>Tove</to>
<from>Jani</from>
<heading>Напоминание</heading>
<body>Не забудь обо мне в эти выходные!</body>

И, наконец, последняя строка определяет конец корневого элемента:


</note>

Исходя из этого примера можно смело предположить, что в этом XML документе содержится заметка к Тову от Джени. И все вполне понятно.