XML (eXtensible Markup Language) — это текстовый формат для структурированного хранения и передачи данных. Он использует теги для описания объектов и их атрибутов, обеспечивая читаемость как для людей, так и для программ.
Основные правила XML:
- Корневой элемент обязателен (один на весь документ).
- Теги чувствительны к регистру:
<tag>
≠<Tag>
. - Все теги должны закрываться:
<element>...</element>
или самозакрывающиеся:<empty/>
.
- Атрибуты в кавычках:
name="value"
илиname='value'
.
- Правильная вложенность:
- Неверно:
<a><b></a></b>
. - Верно:
<a><b></b></a>
.
- Спецсимволы экранируются:
<
(<
),>
(>
),&
(&
),"
("
),'
('
).
Пример XML:
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="fiction">
<title lang="en">The Hobbit</title>
<author>J.R.R. Tolkien</author>
<year>1937</year>
<price>15.99</price>
</book>
<book category="non-fiction">
<title lang="es">Cien años de soledad</title>
<author>Gabriel García Márquez</author>
<year>1967</year>
<price>12.50</price>
</book>
</bookstore>
Ключевые особенности:
- Расширяемость: Вы сами определяете теги и структуру.
- Платформонезависимость: Поддерживается всеми современными языками (Java, Python, C# и др.).
- Поддержка Unicode: Любые языки и символы.
- Валидация: Структуру можно проверить через DTD или XML Schema (XSD).
Где используется?
- Конфигурационные файлы (Spring, Android).
- Веб-сервисы (SOAP, RSS, Atom).
- Данные между приложениями (B2B-интеграции).
- Офисные документы (DOCX, XLSX — основаны на XML).
Обработка XML:
- DOM (Document Object Model) — загружает весь документ в память для манипуляций.
- SAX (Simple API for XML) — потоковая обработка (экономнее памяти).
- XPath — язык запросов к элементам XML.
Плюсы и минусы:
Преимущества | Недостатки |
---|---|
Читаемость и простота | Избыточность (большой объём данных) |
Гибкость структуры | Медленнее JSON в обработке |
Поддержка сложных данных (CDATA) | Сложнее парсить, чем JSON |
Для современных API чаще используют JSON (легче и быстрее), но XML незаменим в корпоративных системах, где требуется строгая валидация через XSD.
Один комментарий к “XML формат: что такое”