0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p><a>#статьи</a></p>
1
<p><a>#статьи</a></p>
2
<ul><li>1 авг 2024</li>
2
<ul><li>1 авг 2024</li>
3
<li>0</li>
3
<li>0</li>
4
</ul><p>Возможно, он вам и не понадобится, но знать на всякий случай полезно.</p>
4
</ul><p>Возможно, он вам и не понадобится, но знать на всякий случай полезно.</p>
5
<p>Иллюстрация: Оля Ежак для Skillbox Media</p>
5
<p>Иллюстрация: Оля Ежак для Skillbox Media</p>
6
<p>Филолог и технарь, пишет об IT так, что поймут даже новички. Коммерческий редактор, автор технических статей для vc.ru и "Хабра".</p>
6
<p>Филолог и технарь, пишет об IT так, что поймут даже новички. Коммерческий редактор, автор технических статей для vc.ru и "Хабра".</p>
7
<p>XML - популярный формат для обмена данными между различными системами и приложениями. Его универсальность делает XML важным инструментом в веб-разработке, настройке программного обеспечения и других областях. В этой статье мы обсудим, что такое XML, как он устроен и какие программы вам могут понадобиться для работы с ним.</p>
7
<p>XML - популярный формат для обмена данными между различными системами и приложениями. Его универсальность делает XML важным инструментом в веб-разработке, настройке программного обеспечения и других областях. В этой статье мы обсудим, что такое XML, как он устроен и какие программы вам могут понадобиться для работы с ним.</p>
8
<p><strong>Содержание</strong></p>
8
<p><strong>Содержание</strong></p>
9
<ul><li><a>Что такое XML</a></li>
9
<ul><li><a>Что такое XML</a></li>
10
<li><a>Как он устроен</a></li>
10
<li><a>Как он устроен</a></li>
11
<li><a>Как открыть XML-файл</a></li>
11
<li><a>Как открыть XML-файл</a></li>
12
<li><a>Что дальше</a></li>
12
<li><a>Что дальше</a></li>
13
</ul><p><strong>ЭКСПЕРТ</strong></p>
13
</ul><p><strong>ЭКСПЕРТ</strong></p>
14
<h3>Андрей Машковцев</h3>
14
<h3>Андрей Машковцев</h3>
15
<p>Эксперт Skillbox по Data Science и аналитике данных. Старший аналитик DWH в "Т-Банк". Ведёт телеграм-канал "<a>Лайфхаки в аналитике</a>".</p>
15
<p>Эксперт Skillbox по Data Science и аналитике данных. Старший аналитик DWH в "Т-Банк". Ведёт телеграм-канал "<a>Лайфхаки в аналитике</a>".</p>
16
<p>XML (eXtensible Markup Language) - это расширяемый язык разметки, предназначенный для хранения и передачи данных в структурированном виде. Данные находятся внутри тегов, которые помогают организовать данные в логической иерархии, понятной человеку и компьютеру.</p>
16
<p>XML (eXtensible Markup Language) - это расширяемый язык разметки, предназначенный для хранения и передачи данных в структурированном виде. Данные находятся внутри тегов, которые помогают организовать данные в логической иерархии, понятной человеку и компьютеру.</p>
17
<p>Пример XML-разметки:</p>
17
<p>Пример XML-разметки:</p>
18
<message> Привет, мир! </message><p>В нашем случае <message> и </message> - это теги, которые определяют начало и конец элемента. Фраза "Привет, мир!" - это данные внутри тега, которые необходимо сохранить или передать.</p>
18
<message> Привет, мир! </message><p>В нашем случае <message> и </message> - это теги, которые определяют начало и конец элемента. Фраза "Привет, мир!" - это данные внутри тега, которые необходимо сохранить или передать.</p>
19
<p>Визуально XML напоминает HTML, однако у этих языков разметки разное назначение. HTML предназначен для отображения информации в браузерах, тогда как XML используется для хранения и передачи данных между различными системами или приложениями. XML - это текстовый формат, поэтому его легко обрабатывать с помощью различных программ и языков программирования. Есть и другие различия, но о них позже.</p>
19
<p>Визуально XML напоминает HTML, однако у этих языков разметки разное назначение. HTML предназначен для отображения информации в браузерах, тогда как XML используется для хранения и передачи данных между различными системами или приложениями. XML - это текстовый формат, поэтому его легко обрабатывать с помощью различных программ и языков программирования. Есть и другие различия, но о них позже.</p>
20
<p>XML применяется во множестве областей. Его часто используют для обмена данными между серверами и клиентами в веб-сервисах и API. Например, протокол<a>SOAP</a>(Simple Object Access Protocol) передаёт сообщения между сервисами в формате XML. Вот пример SOAP-запроса:</p>
20
<p>XML применяется во множестве областей. Его часто используют для обмена данными между серверами и клиентами в веб-сервисах и API. Например, протокол<a>SOAP</a>(Simple Object Access Protocol) передаёт сообщения между сервисами в формате XML. Вот пример SOAP-запроса:</p>
21
<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><p>Запрос о том, сколько стоит акция GOOG (Google), отправляется на сервер, который обрабатывает его и возвращает ответ с текущей ценой.</p>
21
<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><p>Запрос о том, сколько стоит акция GOOG (Google), отправляется на сервер, который обрабатывает его и возвращает ответ с текущей ценой.</p>
22
<p>Также XML часто встречается в конфигурационных файлах, которые содержат параметры и настройки программного обеспечения:</p>
22
<p>Также XML часто встречается в конфигурационных файлах, которые содержат параметры и настройки программного обеспечения:</p>
23
<config> <database> <host>localhost</host> <port>3306</port> <username>root</username> <password>password</password> </database> </config><p>В этом примере указаны параметры подключения к базе данных. Элементы <host>, <port>, <username>, и <password> содержат информацию о сервере базы данных, порте подключения и учётные данные для доступа.</p>
23
<config> <database> <host>localhost</host> <port>3306</port> <username>root</username> <password>password</password> </database> </config><p>В этом примере указаны параметры подключения к базе данных. Элементы <host>, <port>, <username>, и <password> содержат информацию о сервере базы данных, порте подключения и учётные данные для доступа.</p>
24
<p>Помимо составления конфигурационных файлов, XML можно использовать для обмена информацией между различными системами управления базами данных (СУБД). Например, вы можете экспортировать данные о продуктах из одной системы и импортировать их в другую, даже если эти системы используют разные внутренние форматы хранения информации.</p>
24
<p>Помимо составления конфигурационных файлов, XML можно использовать для обмена информацией между различными системами управления базами данных (СУБД). Например, вы можете экспортировать данные о продуктах из одной системы и импортировать их в другую, даже если эти системы используют разные внутренние форматы хранения информации.</p>
25
<p>Ещё XML задействован во многих технологиях и стандартах. Например, SVG (Scalable Vector Graphics) - это формат для описания векторной графики с помощью XML, который позволяет создавать масштабируемые изображения. Посмотрите на пример записи SVG-графики:</p>
25
<p>Ещё XML задействован во многих технологиях и стандартах. Например, SVG (Scalable Vector Graphics) - это формат для описания векторной графики с помощью XML, который позволяет создавать масштабируемые изображения. Посмотрите на пример записи SVG-графики:</p>
26
<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><p>В этом примере изображён треугольник размером 300×300 пикселей, залитый светло-голубым цветом и обведённый чёрной линией. Если захотите поэкспериментировать, добавьте этот код в <a>онлайн-редактор SVG-графики</a>и поиграйте с параметрами.</p>
26
<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><p>В этом примере изображён треугольник размером 300×300 пикселей, залитый светло-голубым цветом и обведённый чёрной линией. Если захотите поэкспериментировать, добавьте этот код в <a>онлайн-редактор SVG-графики</a>и поиграйте с параметрами.</p>
27
<p>Мы рассмотрели лишь несколько примеров, но и по ним понятно, насколько XML важен для хранения и обмена данными. Гибкость и структура делают его полезным инструментом для<a>разработчиков</a>,<a>системных администраторов</a>и <a>специалистов по работе с данными</a>.</p>
27
<p>Мы рассмотрели лишь несколько примеров, но и по ним понятно, насколько XML важен для хранения и обмена данными. Гибкость и структура делают его полезным инструментом для<a>разработчиков</a>,<a>системных администраторов</a>и <a>специалистов по работе с данными</a>.</p>
28
<p>XML-файл состоит из элементов, атрибутов, текста и других компонентов, которые определяют его структуру и функциональность. Рассмотрим подробнее, как это устроено:<strong></strong></p>
28
<p>XML-файл состоит из элементов, атрибутов, текста и других компонентов, которые определяют его структуру и функциональность. Рассмотрим подробнее, как это устроено:<strong></strong></p>
29
<ul><li><strong>Декларация XML.</strong>Разметка начинается с записи: <? xml version="1.0" encoding="UTF-8"?>. Эта строка указывает версию XML и кодировку документа, что помогает правильно интерпретировать содержимое файла.</li>
29
<ul><li><strong>Декларация XML.</strong>Разметка начинается с записи: <? xml version="1.0" encoding="UTF-8"?>. Эта строка указывает версию XML и кодировку документа, что помогает правильно интерпретировать содержимое файла.</li>
30
<li><strong>Элементы.</strong>Это основные строительные блоки XML-документа. Они заключены в теги - например, <book>…</book> - и могут содержать текст, атрибуты и другие элементы.</li>
30
<li><strong>Элементы.</strong>Это основные строительные блоки XML-документа. Они заключены в теги - например, <book>…</book> - и могут содержать текст, атрибуты и другие элементы.</li>
31
<li><strong>Атрибуты.</strong>Это дополнительные данные, которые можно добавить к элементам, чтобы более точно указать их характеристики. Они записываются внутри открывающего тега и позволяют добавлять дополнительную информацию без создания новых элементов. Например, в элементе <book genre="учебник"> атрибут genre указывает на жанр книги, что помогает более точно описать её содержание.</li>
31
<li><strong>Атрибуты.</strong>Это дополнительные данные, которые можно добавить к элементам, чтобы более точно указать их характеристики. Они записываются внутри открывающего тега и позволяют добавлять дополнительную информацию без создания новых элементов. Например, в элементе <book genre="учебник"> атрибут genre указывает на жанр книги, что помогает более точно описать её содержание.</li>
32
<li><strong>Текстовое содержимое.</strong>К тексту относится всё, что находится между открывающим и закрывающим тегами элемента. Например, <title>XML для начинающих</title>.</li>
32
<li><strong>Текстовое содержимое.</strong>К тексту относится всё, что находится между открывающим и закрывающим тегами элемента. Например, <title>XML для начинающих</title>.</li>
33
<li><strong>Комментарии.</strong>Это элементы разметки, которые позволяют добавлять заметки и пояснения в код. Они заключены в <! --… -->, не влияют на обработку документа и нужны для удобства разработчиков.</li>
33
<li><strong>Комментарии.</strong>Это элементы разметки, которые позволяют добавлять заметки и пояснения в код. Они заключены в <! --… -->, не влияют на обработку документа и нужны для удобства разработчиков.</li>
34
</ul><p>Мы познакомились с основными элементами XML-файла. Теперь давайте рассмотрим правила, которые помогут вам создать первый документ.</p>
34
</ul><p>Мы познакомились с основными элементами XML-файла. Теперь давайте рассмотрим правила, которые помогут вам создать первый документ.</p>
35
<p>✅ XML-документ должен иметь один корневой элемент, который содержит все остальные элементы. Например:</p>
35
<p>✅ XML-документ должен иметь один корневой элемент, который содержит все остальные элементы. Например:</p>
36
<library> <!-- Содержимое --> </library><p>❌ Неправильно, если в документе нет корневого элемента или если их несколько. Вот пример, когда документ не будет корректно обработан:</p>
36
<library> <!-- Содержимое --> </library><p>❌ Неправильно, если в документе нет корневого элемента или если их несколько. Вот пример, когда документ не будет корректно обработан:</p>
37
<library> <!-- Содержимое --> </library> <books> <!-- Другие элементы --> </books><p>✅ Все элементы должны быть правильно вложены. То есть каждый элемент должен быть закрыт перед тем, как начинается следующий:</p>
37
<library> <!-- Содержимое --> </library> <books> <!-- Другие элементы --> </books><p>✅ Все элементы должны быть правильно вложены. То есть каждый элемент должен быть закрыт перед тем, как начинается следующий:</p>
38
<book> <title>XML для начинающих</title> <author>Иван Иванов</author> </book><p>❌ Неправильно, если элементы не закрыты или неправильно вложены:</p>
38
<book> <title>XML для начинающих</title> <author>Иван Иванов</author> </book><p>❌ Неправильно, если элементы не закрыты или неправильно вложены:</p>
39
<book> <title>XML для начинающих <author>Иван Иванов</book><p>✅ В отличие от HTML, язык XML строг к синтаксису. Все элементы должны быть правильно закрыты и написаны в едином регистре. Также значения атрибутов обязательно должны быть заключены в кавычки:</p>
39
<book> <title>XML для начинающих <author>Иван Иванов</book><p>✅ В отличие от HTML, язык XML строг к синтаксису. Все элементы должны быть правильно закрыты и написаны в едином регистре. Также значения атрибутов обязательно должны быть заключены в кавычки:</p>
40
<book title="XML для начинающих" author="Иван Иванов"> <price>500</price> </book><p>❌ Пример неправильного синтаксиса: значение одного из атрибутов не заключено в кавычки, один из элементов не закрыт, есть теги с разным регистром:</p>
40
<book title="XML для начинающих" author="Иван Иванов"> <price>500</price> </book><p>❌ Пример неправильного синтаксиса: значение одного из атрибутов не заключено в кавычки, один из элементов не закрыт, есть теги с разным регистром:</p>
41
<Book title=XML для начинающих author="Иван Иванов"> <price>500 </BOOK><p>Как вы могли заметить, в XML нет фиксированного набора тегов. Вы можете создавать собственные теги в соответствии с требованиями вашего проекта и использовать их для хранения данных. Теперь, зная всё это, давайте создадим свою первую XML-запись:</p>
41
<Book title=XML для начинающих author="Иван Иванов"> <price>500 </BOOK><p>Как вы могли заметить, в XML нет фиксированного набора тегов. Вы можете создавать собственные теги в соответствии с требованиями вашего проекта и использовать их для хранения данных. Теперь, зная всё это, давайте создадим свою первую XML-запись:</p>
42
<?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><p>При работе с XML-файлом вам может понадобиться просто просмотреть его содержимое, внести небольшие изменения или отредактировать документ. В зависимости от задачи существуют различные способы открытия XML-файла, и в этом разделе мы рассмотрим основные из них.</p>
42
<?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><p>При работе с XML-файлом вам может понадобиться просто просмотреть его содержимое, внести небольшие изменения или отредактировать документ. В зависимости от задачи существуют различные способы открытия XML-файла, и в этом разделе мы рассмотрим основные из них.</p>
43
<p>Если вам нужно просто просмотреть XML-файл, вы можете использовать любой современный браузер: Chrome, Firefox, Safari или Edge. Для этого дважды щёлкните по файлу или перетащите его в окно браузера. Содержимое выбранного документа будет отображено в виде древовидной структуры, позволяющей удобно перемещаться и находить фрагменты.</p>
43
<p>Если вам нужно просто просмотреть XML-файл, вы можете использовать любой современный браузер: Chrome, Firefox, Safari или Edge. Для этого дважды щёлкните по файлу или перетащите его в окно браузера. Содержимое выбранного документа будет отображено в виде древовидной структуры, позволяющей удобно перемещаться и находить фрагменты.</p>
44
<p>Если вы хотите внести небольшие изменения в XML-документ, попробуйте воспользоваться любым текстовым редактором. Например,<a>Notepad</a>в Windows или<a>TextEdit</a>в macOS. Для начала работы перетащите XML-файл в окно редактора или воспользуйтесь меню: выберите "Файл" → "Открыть" и найдите нужный документ. После внесения изменений не забудьте сохранить файл.</p>
44
<p>Если вы хотите внести небольшие изменения в XML-документ, попробуйте воспользоваться любым текстовым редактором. Например,<a>Notepad</a>в Windows или<a>TextEdit</a>в macOS. Для начала работы перетащите XML-файл в окно редактора или воспользуйтесь меню: выберите "Файл" → "Открыть" и найдите нужный документ. После внесения изменений не забудьте сохранить файл.</p>
45
<p>Если вам нужно заполнить или отредактировать XML-документ, обычные текстовые редакторы могут оказаться неудобными. Лучше использовать редакторы кода с функциями форматирования, подсветки синтаксиса и валидации XML. Это могут быть<a>Visual Studio Code</a>,<a>Brackets</a>,<a>Sublime Text</a>,<a>Notepad++</a>,<a>Oxygen XML Editor</a>и другие. Выберите подходящий редактор, перетащите в него XML-файл или откройте его через меню.</p>
45
<p>Если вам нужно заполнить или отредактировать XML-документ, обычные текстовые редакторы могут оказаться неудобными. Лучше использовать редакторы кода с функциями форматирования, подсветки синтаксиса и валидации XML. Это могут быть<a>Visual Studio Code</a>,<a>Brackets</a>,<a>Sublime Text</a>,<a>Notepad++</a>,<a>Oxygen XML Editor</a>и другие. Выберите подходящий редактор, перетащите в него XML-файл или откройте его через меню.</p>
46
<p>Если вы не пользовались редакторами кода, рекомендуем обратить внимание на Visual Studio Code. Это мощная бесплатная программа компании Microsoft со множеством расширений и вариантов настройки.</p>
46
<p>Если вы не пользовались редакторами кода, рекомендуем обратить внимание на Visual Studio Code. Это мощная бесплатная программа компании Microsoft со множеством расширений и вариантов настройки.</p>
47
<p>Если вы работаете на чужом компьютере или не можете установить редактор кода, воспользуйтесь онлайн-сервисами. Например,<a>CodeBeautify XML Viewer</a>или<a>XMLGrid.net</a>. На этих сайтах вы можете вставить содержимое XML-файла в онлайн-редактор, загрузить файл с компьютера или добавить ссылку, если файл размещён на странице.</p>
47
<p>Если вы работаете на чужом компьютере или не можете установить редактор кода, воспользуйтесь онлайн-сервисами. Например,<a>CodeBeautify XML Viewer</a>или<a>XMLGrid.net</a>. На этих сайтах вы можете вставить содержимое XML-файла в онлайн-редактор, загрузить файл с компьютера или добавить ссылку, если файл размещён на странице.</p>
48
<p>В последнее время для передачи данных между приложениями или микросервисами вместо XML всё чаще применяется формат JSON. JSON проще воспринимается "на глаз" за счет меньшего объема текста разметки (тегов и атрибутов).</p>
48
<p>В последнее время для передачи данных между приложениями или микросервисами вместо XML всё чаще применяется формат JSON. JSON проще воспринимается "на глаз" за счет меньшего объема текста разметки (тегов и атрибутов).</p>
49
<p>Если вы только начинаете разрабатывать клиент-серверные приложения и вам часто приходится просматривать JSON-файлы и вносить изменения в их структуру, то, возможно, вам стоит присмотреться к этому типу файла вместо XML. Подробнее про разницу между XML и JSON можно прочитать на "<a>Хабре</a>"</p>
49
<p>Если вы только начинаете разрабатывать клиент-серверные приложения и вам часто приходится просматривать JSON-файлы и вносить изменения в их структуру, то, возможно, вам стоит присмотреться к этому типу файла вместо XML. Подробнее про разницу между XML и JSON можно прочитать на "<a>Хабре</a>"</p>
50
<p>В этой статье вы в общих чертах познакомились с устройством и предназначением XML-файлов. Если вам нужно с ними работать, рекомендуем следующие ресурсы для самостоятельного изучения:</p>
50
<p>В этой статье вы в общих чертах познакомились с устройством и предназначением XML-файлов. Если вам нужно с ними работать, рекомендуем следующие ресурсы для самостоятельного изучения:</p>
51
<ul><li><a>W3Schools XML Tutorial</a> - бесплатный интерактивный курс для начинающих с примерами и упражнениями. Он охватывает основы XML-синтаксиса, включая элементы, атрибуты и схемы.</li>
51
<ul><li><a>W3Schools XML Tutorial</a> - бесплатный интерактивный курс для начинающих с примерами и упражнениями. Он охватывает основы XML-синтаксиса, включая элементы, атрибуты и схемы.</li>
52
<li><a>MDN Web Docs: XML</a> - подробное руководство по XML от Mozilla. Содержит объяснения концепций, примеры кода и полезные ссылки на дополнительную документацию и инструменты.</li>
52
<li><a>MDN Web Docs: XML</a> - подробное руководство по XML от Mozilla. Содержит объяснения концепций, примеры кода и полезные ссылки на дополнительную документацию и инструменты.</li>
53
<li><a>TutorialsPoint XML Tutorial</a> - бесплатное пошаговое руководство по XML. Включает объяснения и примеры, охватывает темы от основ синтаксиса до продвинутых концепций, таких как XSLT и XPath.</li>
53
<li><a>TutorialsPoint XML Tutorial</a> - бесплатное пошаговое руководство по XML. Включает объяснения и примеры, охватывает темы от основ синтаксиса до продвинутых концепций, таких как XSLT и XPath.</li>
54
<li><a>XML.com</a> - ресурс со множеством статей, руководств и новостей по XML. Содержит как вводные материалы для начинающих, так и углублённые статьи для опытных пользователей.</li>
54
<li><a>XML.com</a> - ресурс со множеством статей, руководств и новостей по XML. Содержит как вводные материалы для начинающих, так и углублённые статьи для опытных пользователей.</li>
55
</ul><a>Курс с трудоустройством: "Профессия Java-разработчик + ИИ" Узнать о курсе</a>
55
</ul><a>Курс с трудоустройством: "Профессия Java-разработчик + ИИ" Узнать о курсе</a>