Инструменты
RU

Сравнение XML-файлов онлайн

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

Исходный XML

Изменённый XML

Конфиденциально: ваши данные обрабатываются в браузере и никуда не загружаются.

Как сравнить два XML-файла

  1. Вставьте или перетащите исходный XML слева, а изменённый — справа. Результат обновляется по мере ввода.
  2. Выберите, что игнорировать: пробелы в тексте, комментарии или порядок атрибутов. Опция Скрыть неизменённые строки делает длинные документы компактнее.
  3. Изучите сводку добавленных, удалённых и изменённых строк, затем просмотрите различия в двух колонках. Кнопка Поменять местами меняет направление сравнения.

Что не учитывается при сравнении XML

РазличиеИгнорируется
Отступы и переносы строк между элементамиВсегда
Одинарные или двойные кавычки вокруг значений атрибутовВсегда
<a/> или <a></a>Всегда
Лишние пробелы и переносы строк внутри текстаПри включённой опции Игнорировать пробелы в тексте (включена по умолчанию)
КомментарииПри включённой опции Игнорировать комментарии
Порядок атрибутовПри включённой опции Игнорировать порядок атрибутов (включена по умолчанию)
Порядок элементовНикогда — перемещённый элемент отображается как удалённый и добавленный
Префиксы пространств имён, &amp; или &#38;, CDATA или экранированный текстНикогда — сравниваются в том виде, как записаны

Как работает сравнение

Оба документа разбираются парсером, нормализуются с учётом выбранных настроек и записываются с одинаковым отступом в два пробела. Полученные строки сравниваются алгоритмом Майерса (Myers diff) — тем же методом, который по умолчанию использует git diff. Заменённые строки объединяются в пары как изменённые, а длинные участки без изменений можно свернуть. Поскольку результат относится к этим отформатированным версиям, номера строк могут отличаться от ваших исходных файлов.

Часто задаваемые вопросы

Важен ли порядок элементов?

Да. Элементы в XML упорядочены, поэтому перемещённый элемент отображается как удалённый в одном месте и добавленный в другом. Игнорировать можно только порядок атрибутов, поскольку в XML он не имеет значения.

Почему файлы различаются, хотя выглядят одинаково?

Проверьте настройки: комментарии, порядок атрибутов и пробелы внутри текста считаются различиями, если соответствующая опция выключена. Префиксы пространств имён и варианты записи сущностей, например &amp; и &#38;, тоже сравниваются в точности как записаны.

Можно ли сравнить XML с синтаксическими ошибками?

Нет. Сначала оба документа должны пройти разбор. Если в одном из них есть ошибка, она показывается под соответствующей стороной с номером строки и столбца — исправьте её там же или в валидаторе XML.

Загружаются ли мои данные на сервер?

Нет. Сравнение выполняется в вашем браузере, на сервер ничего не отправляется.