Минификатор XML
Готовый вариант «Форматтер XML»
Сожмите XML в одну строку, удалив пробелы между элементами. Полезно для встраивания документа в тело запроса или значение конфигурации, где отступы — просто мёртвый вес.
- Файлы никогда не покидают ваше устройство
- Бесплатно, без регистрации
- Без водяных знаков
- Работает офлайн после загрузки
Как пользоваться: форматтер xml
- 1
Вставьте XML
Минифицированный фид, конфигурационный файл, SOAP-ответ — что угодно.
- 2
Форматируйте или минифицируйте
Расставьте отступы для чтения или сожмите для передачи.
- 3
Проверьте на ошибки
Несовпадающие и незакрытые теги называются явно.
Где минифицированный XML действительно используется
XML встречается во множестве контекстов, где каждый байт размера передачи важнее человеческой читаемости — тело SOAP-запроса, постоянно отправляемое между сервисами, значение конфигурации, хранящееся в переменной окружения с ограничением по длине, фид, часто запрашиваемый автоматическими клиентами. Сжатие пробелов между элементами при аккуратном сохранении секций CDATA, комментариев и значений атрибутов в точности так, как они написаны, убирает накладные расходы форматирования, не затрагивая ни одного из данных, которые эти особые секции намеренно защищают, — та же гарантия безопасности, которую парсер применяет при форматировании в обратном направлении.
Минификация не трогает данные, только форматирование
Как и в случае с гарантиями разбора форматтера, минификация здесь только убирает пробелы между тегами элементов — она не переставляет элементы, не переписывает значения атрибутов и не меняет ничего, что реально прочла бы программа, разбирающая получившийся XML. Документ, минифицированный таким образом, и документ, отформатированный для читаемости, представляют совершенно одинаковые данные для всего, что потребляет их программно; различается только размер в байтах и удобство чтения человеком.
Пробелы внутри элемента остаются нетронутыми, а не только снаружи
Убираются пробелы между двумя соседними элементами — отступы, используемые исключительно ради удобства человека-читателя. Пробелы, находящиеся непосредственно внутри элемента, несущего текст, как реальное содержимое — например, намеренный пробел внутри предложения, хранящегося как текст элемента, — сохраняются, а не удаляются, поскольку в XML нет общего правила о том, что пробелы внутри содержимого элемента незначимы, как это часто трактует HTML. Правильное соблюдение этого различия — часть того, почему специально созданный парсер обрабатывает его корректно там, где грубый подход «убрать все пробелы» испортил бы подлинное текстовое содержимое.
Часто задаваемые вопросы
Валидирует ли он мой XML?
Инструмент проверяет, что теги сбалансированы и правильно вложены, и называет проблемный тег, если это не так. Он не валидирует по схеме DTD или XSD — для этого нужна сама схема, и это другая задача.
Сохраняются ли секции CDATA и комментарии?
В точности как написаны. Сканер распознаёт `<![CDATA[…]]>`, комментарии, инструкции обработки и объявления DOCTYPE до того, как искать теги, поэтому разметка внутри них никогда не принимается за структуру — а именно на этом форматтеры на основе регулярных выражений портят файлы.
А как насчёт атрибутов, содержащих < или >?
Обрабатываются корректно. Сканер отслеживает кавычки во время чтения тега, поэтому атрибут вроде `note="a > b"` не завершает тег преждевременно. Это распространённая проблема в простых форматтерах.
Можно ли использовать его для HTML?
Для строгого XHTML — да. Реальный HTML содержит пустые элементы вроде `<br>` и `<img>`, которые никогда не закрываются, а также необязательные закрывающие теги, поэтому для HTML правильным инструментом будет форматтер HTML — он использует настоящий HTML-парсер.
Вам также может понадобиться
Форматтер JSON
Мгновенное форматирование, валидация и минификация JSON
Форматировщик HTML
Аккуратное форматирование и расстановка отступов в HTML
Форматтер SQL
Форматирование запросов с правильными отступами для каждого раздела
Кодировщик и декодировщик Base64
Кодирование и декодирование Base64 и Base64URL
Форматировщик CSS
Форматирование и минификация таблиц стилей
Минификатор CSS
Сжимайте таблицы стилей настоящим минификатором, понимающим CSS
Генератор хешей
MD5, SHA-1, SHA-256, SHA-384 и SHA-512
Форматировщик JavaScript
Форматирование JS и TypeScript настоящим парсером