--- title: "XML-формат: что это такое и как открыть файл — журнал «Код»" source: https://thecode.media/chto-takoe-xml/ author: published: 2025-06-30 created: 2025-08-24 description: Рассказываем и показываем на примерах, что такое XML-формат файлов, как он устроен и где применяется. tags: - clippings - "#XML" --- Когда мы говорили [о разметке в Маркдауне](https://thecode.media/markdown/), то там смысл был такой: есть текст, а мы его размечаем специальными символами, чтобы он хорошо выглядел. Теперь перейдём на этап выше — будем форматировать данные на уровне логики с помощью XML. 👉 XML нужен для работы с техническим текстом, где всё строго, упорядоченно и логично. Его, конечно, можно применить и к художественному тексту, но выйдет так себе. ## Что такое XML-формат XML — это сокращение от eXtensible Markup Language, а переводится это как «расширяемый язык разметки». Смысл XML в том, чтобы выстроить внутри документа логическую структуру — чтобы было видно, что к чему относится и как всё связано между собой, в каком формате представлены данные. ### Зачем нужен С помощью XML можно: - записать оргструктуру компании или любую другую иерархию — «этот подчиняется тому»; - разметить текст по смыслу — «тут важное, там второстепенное, вот это поясняет вон то»; - хранить типовые данные — например, имена артистов, названия их альбомов и треки, или настройку какой-нибудь программы, или скрипты; - разметить веб-страницу по смыслу и отдать эту разметку алгоритму, который сам нарисует дизайн; - разметить текст для дальнейшего машинного обучения; - хранить результаты работы программ, которые работают с текстом, — например, ничто не мешает текстовым редакторам хранить документы со всем оформлением в формате XML. И многое другое, где нужен порядок, структура и работа с текстовыми данными. ![Что такое XML-формат и для чего он нужен](https://thecode.media/wp-content/uploads/2024/09/image9-1024x508.png) Что такое XML-формат и для чего он нужен ## В чём сила XML Сила XML в том, что данные здесь представляются как обычный текст, размеченный тегами (как в HTML). Например, чтобы записать оргструктуру компании в XML, не нужно рисовать схему в графическом редакторе, достаточно правильно разметить текст с именами и должностями. Файлики получаются маленькими, их легко обрабатывать. [База по вёрстке: основы HTML](https://thecode.media/baza-po-vyorstke-osnovy-html/) И ещё сила XML в том, что эти данные может прочитать и обработать компьютер. Например, если мы передаём ему оргструктуру компании, компьютер поймёт её: кто кому подчиняется, что куда входит и т. д. Для сравнения: если скормить компьютеру схему, нарисованную в графическом редакторе, он её не поймёт. А вот если XML хорошо составлен, его также может понять человек. Вам может быть интересно: [![](https://thecode.media/wp-content/uploads/2020/09/photo_2020-09-24-13.58.07-320x213.jpeg) Markdown: что это и кому нужно](https://thecode.media/markdown/) ## Из чего состоит XML Внешне XML очень похож на HTML: в нём тоже всё пишется в угловых скобках, есть закрывающие теги и параметры — аналоги классов и стилей. Но, в отличие от HTML, здесь нет обязательных тегов или вообще каких-то обязательных элементов. Объясним, как это работает, на примере. [Самые частые ошибки в HTML-вёрстке](https://thecode.media/samye-chastye-oshibki-v-html-vyorstke/) Допустим, у нас есть такой текст, из которого нужно сделать XML-документ: *«По состоянию на 22 мая 2025 журнал „Код“ работает и в редакции есть главред Михаил Полянин и авторы Кристина Тульцева и Игорь Росляков».* ### Теги и атрибуты Основное тело XML-документа состоит из тегов и атрибутов. Теги образуют всю структуру файла. Если вы немного знакомы с HTML, то увидите, что здесь они выглядят так же. В основном теги бывают открывающие (``) и закрывающие (``). Но, в отличие от HTML, в XML можно использовать любые теги, которые нужны по логике создания файла. Атрибуты — это дополнительные параметры тега, которые записываются внутри открывающего тега. Они заключены в кавычки. Может выглядеть так: ```markup ``` ### Комментарии и специальные символы Комментарии в XML такие же, как в HTML. Это текстовые пометки, которые не влияют на остальной файл: ```markup ``` Спецсимволы — это символы вроде угловых обозначений тегов. Мы не можем их использовать между настоящими тегами в чистом виде, потому что тогда файл сломается: он подумает, что мы открываем новый тег или делаем ещё какое-то действие, а нам на самом деле нужно просто поставить символ в текст. [Что такое формат JSON и как с ним работать](https://thecode.media/json/) Для работы со спецсимволами нужно использовать соответствующие им наборы других символов, которые ещё называются сущности. Если мы поставим в текст сущности, машина на выходе выведет как раз тот спецсимвол, который нам нужен. Например, амперсанд `&` относится к числу спецсимволов, поэтому нельзя сделать так: ```markup Sanford&Son ``` Вместо этого нужно так: ```markup Sanford&Son ``` Длиннее, зато работает. Вот основные спецсимволы и соответствующие им сущности: ![Что такое XML-формат и для чего он нужен](https://thecode.media/wp-content/uploads/2024/09/image4-1-1024x370.png) Источник: developer.mozilla.org ### Пролог Любой XML начинается с пролога, это первая строка документа. В ней нужно написать, что перед нами именно XML: ```markup ``` Пролог говорит, что ниже будет XML-разметка. Иначе программа-обработчик не будет знать, что с ним делать — рисовать как HTML или выводить как просто текст? [Делаем сами себе игру для Android](https://thecode.media/stack-game-3/) Что есть в прологе: - Версия XML. Обычно 1.0. - Кодировка для корректной работы с символами текста. В нашем примере это UTF-8. ### Корневой элемент Внутри XML-документа всегда есть корневой тег-элемент — внутри него лежит всё остальное. Так как в XML мы придумываем названия для разметки сами, то пусть этот элемент будет называться `actual` (это название может быть любым): ```markdown ``` ### Содержимое внутри корневого элемента Теперь разбираем содержимое. Первое, что мы видим в документе, — это дата, поэтому можем сделать отдельный раздел со статусом издания. В него будет входить значение `Active` (издание работает) и два параметра — дата последней проверки и статус этой проверки. Сам элемент мы назовём `status`: ```markdown Active ``` Это очень похоже на стили и классы в HTML, но работает иначе: мы просто указываем параметры и их значения, а не подключаем какие-то внешние данные или правила. Ещё вы могли заметить, что мы пишем дату в нестандартном формате (с точки зрения компьютера). Так можно: если мы потом будем писать обработчик этого XML, мы сможем научить его читать именно этот формат даты. [Почему программистам сложно работать со временем в программах](https://thecode.media/timezone/) 👉 Это история о том, что XML — это просто полочки, на которые мы раскладываем данные. Какие там данные — ему не важно. Добавим ниже сведения про название журнала: ```markdown Active Журнал «Код» ``` Новый элемент мы назвали `media`  — так человеку будет проще прочитать и понять, что внутри, а компьютеру всё равно. Последнее — добавим информацию о составе редакции. Обратите внимание, что появилась вложенная структура: внутри элемента person есть три дочерних элемента: `name`, `lastname` и  `role`. Это значит, что они относятся к родительскому элементу, а не живут сами по себе: ```markdown Active Журнал «Код» Михаил Полянин главред Кристина Тульцева редактор Игорь Росляков редактор ``` Таким способом можно разобрать на логические составляющие любой технический или информационный документ — от инструкции к чайнику до ежегодного отчёта для инвесторов. Главное, не запутаться в элементах и чётко понимать, что от чего зависит и куда вкладывается. ### Секции CDATA Это блок с дополнительными тегами внутри тега. Внутри можно вставить любой текст, даже спецсимволы. Выглядит так: ```markdown , & без экранирования ]]> ``` CDATA — способ сказать машине, чтобы она не обрабатывала этот блок как XML. Получается что-то вроде больших комментариев, но не совсем. CDATA затрудняет работу: поиск по этому разделу становится сложнее, он может мешать созданным шаблонам. Главное, что XML создан для работы со структурированными данными, а CDATA работает как бы против этой идеи: это чёрный ящик, внутри которого может быть что угодно. Его нельзя проверить схемой, и он не поддерживает механизмы для усиления надёжности работы XML. Иногда CDATA бывает полезен, но это особые случаи. Например, нужно встроить в файл фрагмент текста с большим количеством спецсимволов, такой как код. ## Где нужен XML-формат XML применяют везде, где нужно выделить логическое содержимое документа, чтобы потом его можно было как-то обработать. Например, если у вас есть размеченный XML-файл с названием и характеристиками товаров, то можно научить сервер обрабатывать его как угодно: выводить название в заголовке или простым текстом, понимать, где лежит цена, откуда брать описание и к какому разделу отнести этот товар. Ещё XML применяют в API, когда идёт ответ от сервера в виде XML-файлов. ## Как открыть XML-файл Способов несколько. Всё зависит от того, что вы потом хотите сделать с файлом. ### На компьютере Если файл нужно только открыть и просмотреть, проще всего перетащить его в поле адресной строки браузера. Редактировать нельзя, зато вся структура сразу видна: ![Что такое XML-формат и для чего он нужен](https://thecode.media/wp-content/uploads/2024/09/image8-1024x535.png) Что такое XML-формат и для чего он нужен Самый простой инструмент для редактирования — Блокнот на Windows и TextEdit на MacOS. Можно менять содержимое, но просматривать его не так удобно, потому что нет подсветки синтаксиса: ![Что такое XML-формат и для чего он нужен](https://thecode.media/wp-content/uploads/2024/09/image7-1024x847.png) Что такое XML-формат и для чего он нужен Более продвинутый вариант — использовать текстовые редакторы кода. Так будет выглядеть открытый файл в редакторе Sublime Text: ![Что такое XML-формат и для чего он нужен](https://thecode.media/wp-content/uploads/2024/09/image6-1-1024x682.png) Что такое XML-формат и для чего он нужен Самый мощный вариант — поставить IDE и всё делать в ней. Например, бесплатный настраиваемый Visual Studio Code: ![Что такое XML-формат и для чего он нужен](https://thecode.media/wp-content/uploads/2024/09/image1-2-1024x686.png) Что такое XML-формат и для чего он нужен ### На мобильных устройствах По умолчанию XML на смартфоне можно открыть в браузере, так же как на компьютере: ![Что такое XML-формат и для чего он нужен](https://thecode.media/wp-content/uploads/2024/09/image5-1024x709.jpg) Что такое XML-формат и для чего он нужен Если скачать отдельное приложение (их много, можно выбрать), файл можно открывать и редактировать в нём: ![Что такое XML-формат и для чего он нужен](https://thecode.media/wp-content/uploads/2024/09/image10-1024x709.jpg) Что такое XML-формат и для чего он нужен ## Создание и редактирование XML файлов Понадобится любой текстовый редактор или редактор кода. Минус текстового редактора в том, что там нет подсветки, поэтому лучше поставить что-нибудь для программирования. Если не хотите разбираться в средах разработки, поставьте Sublime Text — он простой и удобный, там можно работать с любым текстом, его достаточно для всех простых задач, а если прокачать дополнительными плагинами, то можно спокойно писать и запускать код. [Почему настоящие мастера пишут всё в Sublime Text](https://thecode.media/sublime-one-love/) Для простого XML-файла нужно запомнить несколько правил. Сначала пишем пролог: ```markup ``` Потом ставим корневой тег: ```markup ``` Внутри корневого тега можно создавать любые другие, но нужно помнить: - Не забывайте ставить парные теги — один открывающий, другой закрывающий. Если работаете в IDE, для этого можно установить дополнительный плагин, который будет делать это за вас. - Регистр важен: нельзя написать один тег заглавными буквами, а другой строчными. - Все атрибуты внутри тегов должны быть указаны в кавычках: ``. - Спецсимволы, такие как угловые кавычки или амперсанд, нужно экранировать. Созданный XML можно проверить валидаторами. Например, [jsonformatter.org](https://jsonformatter.org/xml-validator): ![Что такое XML-формат и для чего он нужен](https://thecode.media/wp-content/uploads/2024/09/image2-3-1024x641.png) Что такое XML-формат и для чего он нужен Или [w3schools.com](https://www.w3schools.com/xml/xml_validator.asp): ![Что такое XML-формат и для чего он нужен](https://thecode.media/wp-content/uploads/2024/09/image3-3-1024x697.png) Что такое XML-формат и для чего он нужен ## Что дальше В другой статье придумаем свой XML-формат и научим сервер с ним работать. Так тоже можно. В конце концов, это ИТ, тут можно вообще почти всё. ## Вам слово Приходите к нам в соцсети поделиться своим мнением о формате XML и почитать, что пишут другие. А ещё там выходит дополнительный контент, которого нет на сайте — шпаргалки, опросы и разная дурка. В общем, вот [тележка](https://v.thecode.media/gfjty), вот [ВК](https://v.thecode.media/lmw36) — велком!