Что такое XML-формат и где его применяют
2026-02-21 02:56 Diff

#статьи

  • 1 авг 2024
  • 0

Возможно, он вам и не понадобится, но знать на всякий случай полезно.

Иллюстрация: Оля Ежак для Skillbox Media

Филолог и технарь, пишет об IT так, что поймут даже новички. Коммерческий редактор, автор технических статей для vc.ru и «Хабра».

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

Содержание

ЭКСПЕРТ

Андрей Машковцев

Эксперт Skillbox по Data Science и аналитике данных. Старший аналитик DWH в «Т-Банк». Ведёт телеграм-канал «Лайфхаки в аналитике».

XML (eXtensible Markup Language) — это расширяемый язык разметки, предназначенный для хранения и передачи данных в структурированном виде. Данные находятся внутри тегов, которые помогают организовать данные в логической иерархии, понятной человеку и компьютеру.

Пример XML-разметки:

<message> Привет, мир! </message>

В нашем случае <message> и </message> — это теги, которые определяют начало и конец элемента. Фраза «Привет, мир!» — это данные внутри тега, которые необходимо сохранить или передать.

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

XML применяется во множестве областей. Его часто используют для обмена данными между серверами и клиентами в веб-сервисах и API. Например, протокол SOAP (Simple Object Access Protocol) передаёт сообщения между сервисами в формате XML. Вот пример SOAP-запроса:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"> <soap:Header/> <soap:Body> <m:GetStockPrice xmlns:m="https://www.example.org/stock"> <m:StockName>GOOG</m:StockName> </m:GetStockPrice> </soap:Body> </soap:Envelope>

Запрос о том, сколько стоит акция GOOG (Google), отправляется на сервер, который обрабатывает его и возвращает ответ с текущей ценой.

Также XML часто встречается в конфигурационных файлах, которые содержат параметры и настройки программного обеспечения:

<config> <database> <host>localhost</host> <port>3306</port> <username>root</username> <password>password</password> </database> </config>

В этом примере указаны параметры подключения к базе данных. Элементы <host>, <port>, <username>, и <password> содержат информацию о сервере базы данных, порте подключения и учётные данные для доступа.

Помимо составления конфигурационных файлов, XML можно использовать для обмена информацией между различными системами управления базами данных (СУБД). Например, вы можете экспортировать данные о продуктах из одной системы и импортировать их в другую, даже если эти системы используют разные внутренние форматы хранения информации.

Ещё XML задействован во многих технологиях и стандартах. Например, SVG (Scalable Vector Graphics) — это формат для описания векторной графики с помощью XML, который позволяет создавать масштабируемые изображения. Посмотрите на пример записи SVG-графики:

<svg width="300" height="300" xmlns="http://www.w3.org/2000/svg"> <polygon points="150,50 250,250 50,250" fill="lightblue" stroke="black" stroke-width="4"/> </svg>

В этом примере изображён треугольник размером 300×300 пикселей, залитый светло-голубым цветом и обведённый чёрной линией. Если захотите поэкспериментировать, добавьте этот код в онлайн-редактор SVG-графики и поиграйте с параметрами.

Мы рассмотрели лишь несколько примеров, но и по ним понятно, насколько XML важен для хранения и обмена данными. Гибкость и структура делают его полезным инструментом для разработчиков, системных администраторов и специалистов по работе с данными.

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

  • Декларация XML. Разметка начинается с записи: <? xml version="1.0» encoding="UTF-8»?>. Эта строка указывает версию XML и кодировку документа, что помогает правильно интерпретировать содержимое файла.
  • Элементы. Это основные строительные блоки XML-документа. Они заключены в теги — например, <book>…</book> — и могут содержать текст, атрибуты и другие элементы.
  • Атрибуты. Это дополнительные данные, которые можно добавить к элементам, чтобы более точно указать их характеристики. Они записываются внутри открывающего тега и позволяют добавлять дополнительную информацию без создания новых элементов. Например, в элементе <book genre="учебник"> атрибут genre указывает на жанр книги, что помогает более точно описать её содержание.
  • Текстовое содержимое. К тексту относится всё, что находится между открывающим и закрывающим тегами элемента. Например, <title>XML для начинающих</title>.
  • Комментарии. Это элементы разметки, которые позволяют добавлять заметки и пояснения в код. Они заключены в <! --… -->, не влияют на обработку документа и нужны для удобства разработчиков.

Мы познакомились с основными элементами XML-файла. Теперь давайте рассмотрим правила, которые помогут вам создать первый документ.

✅ XML-документ должен иметь один корневой элемент, который содержит все остальные элементы. Например:

<library> <!-- Содержимое --> </library>

❌ Неправильно, если в документе нет корневого элемента или если их несколько. Вот пример, когда документ не будет корректно обработан:

<library> <!-- Содержимое --> </library> <books> <!-- Другие элементы --> </books>

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

<book> <title>XML для начинающих</title> <author>Иван Иванов</author> </book>

❌ Неправильно, если элементы не закрыты или неправильно вложены:

<book> <title>XML для начинающих <author>Иван Иванов</book>

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

<book title="XML для начинающих" author="Иван Иванов"> <price>500</price> </book>

❌ Пример неправильного синтаксиса: значение одного из атрибутов не заключено в кавычки, один из элементов не закрыт, есть теги с разным регистром:

<Book title=XML для начинающих author="Иван Иванов"> <price>500 </BOOK>

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

<?xml version="1.0" encoding="UTF-8"?> <!-- Корневой элемент --> <library> <!-- Комментарий: Начало списка книг --> <!-- Элемент книги с атрибутом --> <book genre="учебник"> <!-- Текстовое содержимое --> <title>XML для начинающих</title> <author>Иван Иванов</author> <price>500</price> </book> <!-- Ещё один элемент книги --> <book genre="роман"> <title>Приключения XML</title> <author>Мария Петрова</author> <price>600</price> </book> </library>

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

Если вам нужно просто просмотреть XML-файл, вы можете использовать любой современный браузер: Chrome, Firefox, Safari или Edge. Для этого дважды щёлкните по файлу или перетащите его в окно браузера. Содержимое выбранного документа будет отображено в виде древовидной структуры, позволяющей удобно перемещаться и находить фрагменты.

Если вы хотите внести небольшие изменения в XML-документ, попробуйте воспользоваться любым текстовым редактором. Например, Notepad в Windows или TextEdit в macOS. Для начала работы перетащите XML-файл в окно редактора или воспользуйтесь меню: выберите «Файл» → «Открыть» и найдите нужный документ. После внесения изменений не забудьте сохранить файл.

Если вам нужно заполнить или отредактировать XML-документ, обычные текстовые редакторы могут оказаться неудобными. Лучше использовать редакторы кода с функциями форматирования, подсветки синтаксиса и валидации XML. Это могут быть Visual Studio Code, Brackets, Sublime Text, Notepad++, Oxygen XML Editor и другие. Выберите подходящий редактор, перетащите в него XML-файл или откройте его через меню.

Если вы не пользовались редакторами кода, рекомендуем обратить внимание на Visual Studio Code. Это мощная бесплатная программа компании Microsoft со множеством расширений и вариантов настройки.

Если вы работаете на чужом компьютере или не можете установить редактор кода, воспользуйтесь онлайн-сервисами. Например, CodeBeautify XML Viewer или XMLGrid.net. На этих сайтах вы можете вставить содержимое XML-файла в онлайн-редактор, загрузить файл с компьютера или добавить ссылку, если файл размещён на странице.

В последнее время для передачи данных между приложениями или микросервисами вместо XML всё чаще применяется формат JSON. JSON проще воспринимается «на глаз» за счет меньшего объема текста разметки (тегов и атрибутов).

Если вы только начинаете разрабатывать клиент-серверные приложения и вам часто приходится просматривать JSON-файлы и вносить изменения в их структуру, то, возможно, вам стоит присмотреться к этому типу файла вместо XML. Подробнее про разницу между XML и JSON можно прочитать на «Хабре»

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

  • W3Schools XML Tutorial — бесплатный интерактивный курс для начинающих с примерами и упражнениями. Он охватывает основы XML-синтаксиса, включая элементы, атрибуты и схемы.
  • MDN Web Docs: XML — подробное руководство по XML от Mozilla. Содержит объяснения концепций, примеры кода и полезные ссылки на дополнительную документацию и инструменты.
  • TutorialsPoint XML Tutorial — бесплатное пошаговое руководство по XML. Включает объяснения и примеры, охватывает темы от основ синтаксиса до продвинутых концепций, таких как XSLT и XPath.
  • XML.com — ресурс со множеством статей, руководств и новостей по XML. Содержит как вводные материалы для начинающих, так и углублённые статьи для опытных пользователей.
Курс с трудоустройством: «Профессия Java-разработчик + ИИ» Узнать о курсе