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

Форматирование XMLСтруктура на виду, текст без изменений

Выберите отступы или компактный вид. Поддеревья с текстом сохраняются целиком, включая уже существующие пробелы и переводы строк.

Форматирование XML

Ввод XML

Результат

Ввод обрабатывается в этой вкладке браузера и не отправляется на сервер.

Параметры

Текст, пробелы, ссылки на символы, CDATA и xml:space="preserve" защищают целые поддеревья; старые отступы могут сохраниться.

Результат устарел. Запустите обработку снова.

Форматирование XML помогает разобраться в ответе сервиса, где десятки вложенных тегов записаны подряд. Этот форматтер XML добавляет отступы только в структурных частях без текста: фрагменты с фразами и встроенными тегами остаются целыми.

Форматирование XML удобно дополнять просмотром исходных позиций. Дерево ведёт к строкам ввода, а список пространств имён показывает, где объявлен префикс и где ему назначен другой URI. Это полезно при разборе вложенных ответов SOAP.

Форматирование XML с защитой содержимого

Пробелы не считаются лишними автоматически

Пробел около встроенного тега может разделять слова. Поэтому прямой текст, включая пробелы и ссылки на символы, CDATA или xml:space="preserve" защищает всё поддерево. Даже старые отступы внутри него остаются на месте.

Структурные теги получают отступы, а выделенный блок смешанного содержимого остаётся неизменным.

У каждого объявления есть исходная строка

В списке указаны элемент-владелец, префикс, URI и строка объявления пространства имён. Видны пространство по умолчанию и повторные привязки префиксов. Так проще понять контекст имени в конкретной части документа.

Узлы дерева соединены с цветными карточками объявлений префиксов и пространств имён.

Три детали перед выгрузкой

01

Настройте обновление

Автоматический режим ждёт 350 мс после изменения. По умолчанию включены отступы в два пробела. Отключите автоматику для ручного запуска. При изменении ввода или настроек копирование и скачивание блокируются до получения нового результата.

02

Найдите место в исходнике

Нажмите строку элемента в дереве, чтобы перейти к нему во вводе. Ветви можно сворачивать. Дерево и список объявлений показывают по 50 записей с подгрузкой следующих; экспорт при этом содержит весь XML.

03

Проверьте замену

Кнопки примера и очистки открывают предпросмотр с числом единиц UTF-16 до и после замены. Применение меняет ввод. Затем можно один раз отменить замену и вернуть предыдущее состояние.

Что показывает проверка

Два способа оформления

Отступы в два или четыре пробела добавляются в структурных частях без текста. Минификация XML сокращает только оформление незащищённых тегов и пробелы вне корневого элемента, не удаляя текст.

Ошибка с координатами

Проверка синтаксиса XML 1.0 указывает строку и столбец ошибки. Это помогает найти незакрытый тег или неверный префикс. Инструмент не угадывает исправление и не выдаёт автоматически починенный документ.

Дерево исходных элементов

Раскрывайте и сворачивайте ветви, чтобы найти нужный уровень вложенности. Позиции относятся к вводу: новая разбивка строк в результате не меняет адреса, по которым дерево ведёт к исходным элементам.

Полный актуальный результат

Форматирование XML завершается выводом всего документа. Копирование и скачивание доступны для актуального результата; переключение на дерево или пространства имён не заменяет экспорт таблицей.

Поддерживаемый синтаксис и ограничения

XML 1.0 и UTF-8
Допускается только XML 1.0. Объявление кодировки должно отсутствовать либо содержать UTF-8 или UTF8. Другие версии и кодировки отклоняются; перекодирование байтов файла не выполняется.
DOCTYPE запрещён во всех случаях
Любое объявление DOCTYPE останавливает обработку. Проверки по XSD или DTD, вычисления XPath и сетевой загрузки внешних ресурсов здесь нет. Корректный синтаксис не подтверждает соответствие схеме.
Защищается всё поддерево
Прямой текст, пробелы, ссылки на символы, CDATA или xml:space="preserve" сохраняют поддерево целиком. Поэтому запрос «XML в одну строку» не всегда выполним без изменения текста: компактный режим может оставить существующие переносы.
Ограничения объёма
До 500 000 единиц UTF-16 на входе, всего 20 000 узлов разбора (элементы, текст, CDATA, комментарии и инструкции обработки), глубина до 100 и до 2 000 000 единиц UTF-16 на выходе. Превышение любого предела останавливает обработку.

Форматирование XML: частые вопросы

Меняет ли форматирование документ?

Форматирование XML может изменить расположение незащищённых тегов и пробелы вне корня. Поддеревья с прямым текстом, пробелами, ссылками на символы, CDATA или xml:space="preserve" сохраняются целиком. Побайтовое совпадение всего документа не гарантируется.

CDATA и комментарии сохраняются?

Да. Комментарии остаются в документе, а CDATA дополнительно защищает всё содержащее её поддерево от изменения оформления. Для комментариев вне защищённых частей окружающие отступы могут измениться.

В чём разница между форматированием и минификацией XML?

Первое добавляет отступы там, где есть только структура без прямого текста. Второе сокращает оформление незащищённых тегов и пробелы вне корня. Оба режима сохраняют защищённые поддеревья целиком.

Загружается ли мой XML на сервер?

Нет. Обработка идёт в этой вкладке браузера. URI пространств имён отображаются как идентификаторы и не открываются по сети; внешние ресурсы документа также не загружаются.

Чем убрать форматирование XML?

Выберите компактный режим. Он сокращает доступное для изменения оформление тегов, но не удаляет прямой текст и пробелы внутри защищённых поддеревьев. Уже отформатированный документ поэтому может остаться многострочным.

Остался вопрос?

Форматирование XML на примере

Загрузите пример, найдите защищённые участки и сравните отступы с компактным представлением.