С какими языками разметки или форматами данных можно сравнить XML?

«С какими языками разметки или форматами данных можно сравнить XML?» — вопрос из категории Other, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

Сравнение с другими форматами:

Формат Сходство с XML Ключевые отличия Основное применение
HTML Оба используют теги, атрибуты и вложенную структуру. HTML имеет фиксированный набор тегов для представления контента, XML позволяет определять собственные теги для любых данных. Веб-страницы (HTML) vs. Конфигурация, обмен данными (XML).
JSON Оба являются текстовыми форматами для представления иерархических данных. JSON легче (меньше синтаксического шума), нативно поддерживается в JavaScript, не поддерживает атрибуты, комментарии, пространства имён. Де-факто стандарт для веб-API, конфигураций (более популярен, чем XML).
YAML Оба предназначены для сериализации данных и конфигураций. YAML использует отступы вместо тегов, ещё более читаем для человека, но чувствителен к синтаксису пробелов. Конфигурационные файлы (Docker Compose, Kubernetes, Ansible).

Пример одного и того же объекта в разных форматах:

<!-- XML -->
<book id="123">
    <title>Effective Java</title>
    <author>Joshua Bloch</author>
    <published>2018</published>
</book>
// JSON
{
  "id": 123,
  "title": "Effective Java",
  "author": "Joshua Bloch",
  "published": 2018
}
# YAML
book:
  id: 123
  title: Effective Java
  author: Joshua Bloch
  published: 2018

Вывод: XML — это мощный, строгий и расширяемый формат, но для многих современных задач (особенно в веб-разработке) JSON и YAML часто предпочтительнее из-за простоты и лаконичности.