Дерево 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 документе содержится заметка к Тову от Джени. И все вполне понятно.

Основы работы с XML OTUS

XML – это расширяемый язык разметки. Он создан для формирования логической структуры данных, их хранения и передачи в максимально удобном виде не только для компьютера, но и для человека. Выделяется простотой и ясностью синтаксиса. При помощи XML можно описывать документы через тэги.

Данная статья расскажет об особенностях XML-языка, а также о его ключевых элементах. Предстоит разобраться в тэгах и атрибутах, без которых формирование итогового кода документа не представляется возможным. Информация будет полезна как разработчикам, так и тестировщикам программного обеспечения. 

Области применения и возможности

XML – простой и понятный язык разметки. Он используется везде, где необходимо выделение логического содержимого документа для дальнейшей обработки. Соответствующий формат является рекомендованным Консорциумом Всемирной паутины (W3C). За счет данной особенности XML используется в API при формировании серверных ответов.

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

  • формирование разметки текста по смыслу – от важных к второстепенным блокам;
  • запись иерархии;
  • хранение типовых данных – настройки программ, названия (заголовки), скрипты и иные элементы;
  • создание текстов для машинного обучения;
  • хранение результатов использования текстовых редакторов.

Иерархии XML применяются в самых разных языках разработки:

  • OWL и RDF – для описания структур и ресурсов имеющихся каталогов;
  • HTML – отображение страниц в интернете;
  • WSDL – обращение к удаленным веб-серверам и приложениям;
  • SVG – формирование векторных изображений (картинок).

Рассматриваемый язык – это средство обмена данными, обработки и упорядочения информации.

Особенности

XML чем-то напоминает HTML. Данные языки нужно использовать совместно – они дополняют друг друга. Рассматриваемый расширяемый ЯП имеет следующие особенности:

  1. Приложения, написанные на нем, будут работать, даже если часть данных будет стерта или добавлена. Он хорошо подходит для создания новых версий файлов, а также иных электронных элементов.
  2. Все собранные сведения будут храниться в виде текста. Это делает их программно- и машинно-независимыми.
  3. Код синтаксически прост и понятен. Он легко читается не только компьютерами, но и человеком. Высокий уровень читаемости является одним из главных преимуществ.
  4. Размеры XML-документов больше бинарного представления аналогичных данных.
  5. Гибкость и отсутствие жестких ограничений при формировании документов. Это означает, что для одних и тех же структур поддерживается множество способов интерпретации.

XML документ должен быть открыт одним из текстовых редакторов. Считать информацию удастся как при помощи специальных приложением, так и «Блокнотом» в Windows.

Стандарты

Перед тем как изучать теги XML, а также остальные его элементы, нужно учесть существование так называемых стандартов. Так называются расширения, при помощи которых удается получить дополнительные возможности для работы с XML-документами.

Наиболее популярными из них являются такие элементы как:

  • XPath – расширение, упрощающее навигацию по XML-документам;
  • AJAX – помогает изменять веб-страницу без ее перезапуска;
  • XSLT – конвертирование .xml в другие форматы;
  • XML DOM – используется для получения, изменения, добавления, а также удаления отдельных элементов из исходного документа;
  • XQuery – инструмент обработки данных;
  • DTD – расширение, при помощи которого можно определить список разрешенных элементов для сущности в исходном файле.

XML-документ – это информация, заключенная в теги. Он может быть создан в обычном текстовом редакторе.

Введение в синтаксис

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

При написании кода XML tags заключаются в скобки «<» и «>». Ниже – наглядный пример структуры типичного XML-документа.

При формировании исходного кода необходимо помнить следующие правила и принципы:

  1. Файл может включать в себя элемент под названием «пролог». Он будет располагаться в верхней части исходного кода. Заданный пример в первой строке указывает, что используется xml version 1.0, а также кодировка (encoding) UTF-8. Этот элемент полезен, если в исходном файле задействован текст на нескольких языках.
  2. Корневой элемент в XML является обязательным. Он называется «root». В заданном примере им выступает <claim>.
  3. Все компоненты, включая корневой элемент в XML, должны заключаться в кавычки, но и иметь закрывающие теги. Они помечаются дополнительным символом – слешем.
  4. Регистр для тегов XML имеет значение.
  5. Правила синтаксиса языка указывают, что значения атрибутов должны быть заключены в кавычки. Атрибут – это характеристика тегов XML. Любые tags могут иметь атрибуты. В предложенном примере это version и encoding.
  6. Реестр – не единственная «проблема» при написании кода. Вложенность тегов контролируется. Это значит, что исходный код всегда должен содержат открывающий тег и закрывающий. В противном случае код будет обработан некорректно.

Правила синтаксиса XML учитывают все символы форматирования, включая пробелы, запятые и иные элементы.

Пространство имен

В XML-коде иногда могут встречаться одинаковые по написанию объекты. Пример – Claim. Этот элемент – и жалоба, и обращение. Системе необходимо сообщить, какие принципы обработки данных применить в первом случае, а какие – во втором объекте.

Для этого используется так называемое пространство имен. Оно позволяет избежать конфликтов наименования элементов. Задается в качестве значений атрибутов XML. Пример – есть корневой элемент root. Он имеет несколько атрибутов. Для примера – два.

Теперь нужно указать, что «xmlns:…/request» – это обращение, а «xmlns:…/claim» — жалобы. Остается добавить префиксы в соответствующий блоки исходного кода. Обработчик выдаст корректный результат обработки.

Правила декларации

XML-документы могут содержать дополнительно такой элемент как декларация. Это и есть «пролог». Для его формирования у tag существуют следующие правила:

  1. Регистр имеет значение. Начинается декларация с <? xml>. Все элементы в записи должны быть строчными.
  2. При формировании пролога важно соблюдение порядка параметров. Сначала пишется версия, затем – кодировка и тип.
  3. Допускается использование в синтаксисе не только двойных, но и одинарных кавычек.
  4. Если в документе есть пролог, он должен выступать первым утверждением всего файла.
  5. Протоколы HTTP способны переопределять значения кодировки, указанной при формировании XML-файла.

Эти простые правила помогут быстрее и эффективнее создавать коды без лишних ошибок компиляции.

Теги

Теги в XML – это основные элементы (узлы) исходного кода. Их имена заключаются в треугольные скобки. Правила синтаксиса указывают на то, что каждый XML-элемент должен быть закрыт начальным или конечным элементом.

Выше – два примера реализации грамотного синтаксиса рассматриваемого языка. Он поддерживает вложенность. Так называется ситуация, когда внутри элемента tag размещаются другие теги. Дочерние элементы не должны перекрываться – конечный тэг должен быть с точно таким же именем, как и у самого последнего непревзойденного начального tag.

Выше – примеры неправильного и правильного формирования вложенности.

Существуют так называемые пустые теги. Текст, который возникает между начальным и конечным тегами – это контент. Элемент без содержимого называется пустым. Он может быть представлен несколькими способами:

  1. Начальной меткой, за которой сразу следует конечная. Форма представления – <hr></hr>.
  2. Полным тегом пустого элемента. Запись имеет следующую форму представления – <hr />.

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

Элементы

Элемент – это своеобразный «строительный блок» XML-документа. Обладают различным поведением. Могут вести себя как контейнеры для хранения элементов, атрибутов, медиа-объектов, а также текста. Элементы включены в состав каждого XML-файла. Область их действия обозначается начальным и конечным тэгами.

Задаются по форме:

Здесь element name – это имя элемента. Оно должно быть одинаковым в начальных и конечных тегах. Чувствительно к регистру. Attribute1 и attribute2 – это атрибуты (attributes) элемента. Они в программном коде разделены пробелами. Служат для определения свойств того или иного компонента. Связывает имя со значением, представленной строкой символов. 

Здесь рекомендуется запомнить следующие правила:

  1. Имя элемента может включать в себя буквы и цифры. Знаки препинания не поддерживаются. Исключение составляет дефис, а также нижнее подчеркивание и точка.
  2. Имена чувствительны к регистру. Не только в XML элементах, но и во всем документе.
  3. Начальный и конечный теги компонента должны совпадать друг с другом.

Один элемент может включать в себя разные типы данных. Он иногда содержит не только обычный текст, но и другие компоненты.

Атрибуты

Атрибут (attribute) – компонент, который задает одно свойство для элемента при помощи пары имя-значение. Таких составляющих у XML tag может быть несколько:

В предложенном выше примере href выступает именем атрибута, а адрес веб-страницы – его значением.

При формировании атрибутов и элементов в XML необходимо помнить, что:

  1. Регистр важен для обоих компонентов.
  2. Один и тот же атрибут не может обладать несколькими значениями.
  3. Имя (заголовок) атрибута прописывается без кавычек. Значения – только в них.
  4. Атрибуты и элементы XML тесно связаны между собой. Первые используются для различения вторых, если компоненты кода обладают одними и теми же именами.
  5. Имя атрибута не должно появляться в начальном теге или теге пустого элемента больше одного раза.
  6. Атрибуты объявляются в определении типа документа. Для этого используется список.
  7. Значения могут включать в себя не только прямые значения, но и ссылки (прямые/косвенные) на сущности внешних объектов.

Атрибуты необходимы для добавления уникальных меток к элементам, а также их дальнейшего размещения в категории. Эти компоненты помогают добавлять логически флаги и иные связывания elements со строками данных.

Выше – пример использования атрибутов. Также стоит запомнить, что атрибуты:

  • не могут включать в себя множественные значения в отличие от элементов;
  • не поддерживают древовидные структуры;
  • сложно расширяемые;
  • достаточно трудно читать и обслуживать.

Элементы рекомендуется использовать непосредственно для данных, а XML атрибуты – для иной информации.

Типы

Атрибуты могут быть нескольких типов:

Тип атрибутаХарактеристика
StringСтрока. В качестве значения атрибута XML может выступать любая буквенная строка. CDATA – символьные данные. Это указывает на то, что любая строка символов без разметки становится частью атрибута.
TokenizedTypeМогут быть представлены несколькими способами:ID – указание элемента кода в качестве уникального;IDREF – применяется для ссылки на идентификатор, который был предопределен для другого элемента;ENTITY – атрибут представляет сущность извне внутри файла;IDREFS – ссылка на все идентификаторы элемента;ENTITIES – атрибут представляет внешние объекты;NMTOKEN – то же самое, что и CDATA, но с ограничениями данных, используемых в качестве части атрибута.
EnumeratedTypeЗначения могут быть NotationType или перечисление. Первый вариант ссылается на Notation, объявленный в XML. Второй определяет список значений, которым должно удовлетворять значение атрибута.

Выше – таблица, которая поможет лучше узнать типы атрибутов.

Сущности

Рассматривая инструкции по обработке XML файлов, необходимо обратить внимание на сущности. Они тоже тесно связаны с элементами и атрибутами.

Сущность – это символы, которые имеют особое значение. При вписывании в тэг XML будут обрабатываться и выдавать тот или иной результат.

Код, написанный выше, приведет к ошибке. Чтобы она не возникала, необходимо заменить символ «<» на его сущность. В данном случае исправленный и корректный код будет иметь такую запись:

Всего в XML предусматриваются 5 сущностей:

Строго запрещены только символы «амперсанд» и «меньше». Остальные символьные записи можно использовать без сущностей, но это может привести к ошибкам обработки исходного кода.

Комментарии

Комментарии XML похожи на аналогичные элементы в HTML. Они могут быть добавлены в исходный код в качестве примечаний. Необходимы для того, чтобы теги в XML файле стали более понятными. Нацелены на разъяснение исходного кода.

Комментарии используются для включения связанных ссылок, информации и подсказок. Они видны только в исходном коде. Появляются в любом месте XML-кода.

Синтаксис: <! — комментарий — >.

Вкладывать комментарии друг в друга нельзя. Также необходимо запомнить, что:

  • комментарии не могут быть определены до объявления XML;
  • в исходном документе комментарии можно использовать в любом месте;
  • не допускается использование соответствующего элемента в значениях атрибутов.

XML похож на HTML. Далее предстоит выяснить, что лучше использовать при программировании.

HTML или XML

HTML и XML – два схожих между собой языка. Они дополняют друг друга, хоть и отличаются по назначению. XML используется для хранения и передачи данных, HTML – для их корректного отображения на экране.

Теги в HTML являются предопределенными. Браузеры знают о них максимум информации, за счет чего при считывании происходит отображение данных. В XML эти элементы описываются разработчиком. Браузеры об этих элементах ничего не знает.

XML-файлы легко преобразуются в HTML. При передаче информации с сервера в браузеры, соответствующий процесс реализовывается автоматически. Разработчикам рекомендуется использовать эти языки в связке друг с другом.

Как освоить языки разметки

Независимо от того, какой именно язык программирования заинтересовал пользователя, он смогут пройти обучающие онлайн курсы, чтобы быстро освоить выбранное направление. Пример – от образовательного центра OTUS.

Преимуществами дистанционных курсов служат:

  • сжатые сроки обучения и материал, поданный в понятной даже новичкам форме;
  • кураторство;
  • домашние задания и богатая практика;
  • возможность совмещения с работой и семьей;
  • возможность получить помощь при трудоустройстве по выбранному IT-направлению.

Пользователь сможет выбрать один или несколько курсов для одновременного изучения. В конце будет выдан электронный сертификат, подтверждающий навыки. Вместе с компьютерными дистанционными курсами будет легко понять, как составлять заголовок в коде, что значит «note date» и int, а также как компилировать приложения на устройствах.

Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus! Также обратите внимание на курсы по тестированию в Otus. Присутствуют варианты как для продвинутых, так и для начинающих пользователей.

Дерево XML

❮ Предыдущий Далее ❯


XML-документы образуют древовидную структуру, которая начинается с «корня» и разветвляется на «листья».


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


Пример XML-документа

На изображении выше представлены книги в этом формате XML:

» ?>


Итальянский на каждый день
Джада Де Лаурентис
<год>2005
30. 00

<книга категория="дети">
Гарри Поттер
Дж. К. Роулинг
<год>2005
29,99

<категория книги="Интернет">
Изучение XML
Эрик Т. Рэй
<год>2003
39,95



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

XML-документы формируются как деревьев элементов .

Дерево XML начинается с корневого элемента и разветвляется от root до дочерних элементов .

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

<корень>
<ребенок>
<поддочерний>…..

Термины «родительский», «дочерний» и «сестринский» используются для описания отношений между элементы.

У родителей есть дети. У детей есть родители. Братья и сестры – дети одного уровня (братья и сестры).

Все элементы могут иметь текстовое содержимое (Гарри Поттер) и атрибуты (category=»cooking»).


Синтаксис самоописания

XML использует синтаксис с самоописанием.

Пролог определяет версию XML и кодировку символов:

» ?>

Следующая строка является корневым элементом документа:

Следующая строка начинается с элемента :

Элементы имеют 4 дочерних элемента :, <author>, <year >, <цена>.</p><p><title lang="en">Повседневный итальянский
Джада Де Лаурентис
2005
30.00

Следующая строка завершает элемент книги:

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

❮ Предыдущий Следующий ❯


ВЫБОР ЦВЕТА



Лучшие учебники
Учебное пособие по HTML
Учебное пособие по CSS
Учебное пособие по JavaScript
Учебное пособие
Учебное пособие по SQL
Учебное пособие по Python
Учебное пособие по W3.CSS
Учебное пособие по Bootstrap
Учебное пособие по PHP
Учебное пособие по Java
Учебное пособие по C++
Учебное пособие по jQuery
9000 3

Основные каталожные номера
Справочник по HTML
Справочник по CSS
Справочник по JavaScript
Справочник по SQL
Справочник по Python
Справочник по W3.CSS
Справочник по Bootstrap
Справочник по PHP
Цвета HTML
Справочник по Java
Справочник по Angular
Справочник по jQuery

Основные примеры
Примеры HTML
Примеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3. CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery


ФОРУМ | О

W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности.

Copyright 1999-2023 Refsnes Data. Все права защищены.
W3Schools работает на основе W3.CSS.

Руководство разработчика SOAP API. Структура XML-файла

XML-файл — это просто структурированный текстовый файл. Лучший путь чтобы понять XML, нужно посмотреть на примеры файлов. Листинг 1 ниже содержит три записи из базы данных фильмов. Каждая запись содержит два поля: название фильма и его жанр .

Файл примера отформатирован с использованием пустых строк, табуляций и пробелов которые облегчают чтение файла. На практике эти предметы игнорируются анализаторами XML. Аналогично, жирный текст и номера строк в списке приведены только для иллюстрации. Фактический XML файлы не содержат номеров строк.

Листинг 1. Пример XML Файл

  1  
2  <фильмы>
3    <фильм>
4       Призрак и мистер Цыпленок
5       <жанр>Комедия
6    
7    <фильм>
8       Унесенные ветром
9       <жанр>Драма
10   
11   <фильм>
12      Громовой шар
13      <жанр>Приключения
14   
15  
 

XML-декларация

Строка 1 содержит инструкцию обработки, известную как XML-декларация . Этот Оператор сообщает синтаксическим анализаторам, что файл содержит XML. Остаток файла состоит из XML элементов . Каждый элемент состоит из начального тега и конечного тега . XML данные это просто информация, которая появляется между тегами.

Термины тег и элемент часто используются взаимозаменяемо. А тег — это идентификатор, который что-то определяет. Элемент экземпляр набора тегов. В нашем примере <название> является тегом, иУнесенные Ветер — элемент. Элементы являются основными строительные блоки файлов HTML. Элементы могут быть вложенными внутри других элементов.

Правила, регулирующие теги

Теги регулируются несколькими основными правилами:

  • Имена тегов чувствительны к регистру. <фильм>, <фильм>, и не эквивалентны. Имена атрибутов также с учетом регистра.

  • Имена тегов должны начинаться с буквенного символа, символа подчеркивания, или двоеточие.

  • Имена тегов и атрибутов не могут начинаться с «xml», что зарезервировано.

  • Все теги должны быть закрыты. Начальный тег должен быть закрывается соответствующим закрывающим тегом. Пустые элементы с никакие атрибуты не могут использовать обратную косую черту в качестве ярлыка для конечного тега (например, <фильм/> эквивалентен в <фильм>.

Корневой элемент

Строка 2 определяет корневой элемент . Поскольку XML-документ представляет собой дерево элементов, каждый документ имеет один корневой элемент, обозначающий начало и конец операторов XML в файле. В Например, корневой элемент начинается с открывающего тега и закрывается закрывающим тегом . Все другие элементы вложены внутрь корневого элемента.

Дочерние элементы

Строка 3 идентифицирует <фильм> как ребенок из <кино> корневой элемент. Отношения родитель-потомок распространены в XML файлы. Родительские элементы могут иметь множество дочерних элементов. Все элементы должны быть правильно закрыты, что означает, что каждый элемент имеет начало тег и конечный тег. Точно так же теги должны быть сбалансированы. закрывающий тег дочернего элемента не может стоять после закрывающего тега его родителя. Например:

  НеверныйThunderBall<genre>Приключение.