IT Market
Инструменты/Код/Документы/Форматирование XML онлайн — красивый вид кода
XML FORMATTER

Форматируйте XML с отступами

Коротко об инструменте

Форматирование XML онлайн — красивый вид кода

XML из интеграции, из YML-фида для маркетплейса или из ответа SOAP-сервиса почти всегда приходит одной длинной строкой без переносов. Найти в такой выгрузке нужный узел глазами невозможно. Инструмент разбирает документ и печатает его с отступами по уровням вложенности, а обратная кнопка сворачивает результат в компактный вид для передачи. Разбор ведёт встроенный в браузер парсер, поэтому файл с ценами или заказами остаётся у вас. Смотрите также: разобрать этот XML в объект JSON, собрать XML из данных JSON, то же форматирование для файлов JSON.

Как пользоваться

  1. Вставьте документ в поле «XML на входе» — вместе с объявлением версии, если оно есть в исходнике.
  2. Нажмите «Форматировать»: в поле «Отформатированный результат» появится дерево с отступами по уровням вложенности.
  3. Найдите нужный узел по отступам и проверьте, что закрывающие теги стоят на своих уровнях.
  4. Нажмите «Минифицировать», когда нужно вернуть компактный вид без переносов — например, перед отправкой в API.
  5. Заберите результат кнопкой «Копировать» и вставьте его в редактор или в тело запроса.

Вопросы и ответы

Как найти ошибку в XML, если фид не принимается маркетплейсом?

Отформатируйте документ: незакрытый или лишний тег сразу ломает лесенку отступов, и место сбоя видно по строке, которая ушла не на свой уровень. Разбор останавливается на первой ошибке, поэтому исправляйте по одной и форматируйте заново. Типичные причины — голый амперсанд в названии товара, кавычка внутри атрибута и обрезанный при выгрузке хвост файла.

Меняются ли данные при форматировании?

Меняются только пробелы и переносы между узлами: значения, атрибуты и порядок элементов остаются как есть. Но для форматов, где пробелы внутри текстового узла значимы, добавленные отступы могут оказаться лишними — в таком случае передавайте получателю минифицированный вариант, а форматированный держите для чтения.

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

По-разному у двух кнопок, и это стоит знать заранее. «Минифицировать» сохраняет и секции CDATA, и комментарии как есть. «Форматировать» перестраивает документ по узлам: текст из CDATA остаётся текстом, но обёртка CDATA пропадает, а знаки < и & в нём экранируются; комментарии в отформатированный вывод не попадают. Если вы правите YML-фид с HTML внутри CDATA, форматированный вид годится для чтения, а отправлять получателю нужно исходник или минифицированный вариант.

Какой максимальный размер XML потянет страница?

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

Зачем минифицировать XML обратно?

Отступы — это лишние байты в каждом запросе. Для тела SOAP-запроса, для передачи по слабому каналу и для хранения компактный вариант экономнее, а машине читаемость не нужна. Порядок работы обычно такой: свернуть перед отправкой, развернуть, когда надо разобраться в ответе.

Кто увидит содержимое вставленного документа?

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

Примеры

Товар из YML-фида одной строкой
До: Роутер4290
После: Роутер 4290
Обратная свёртка перед отправкой
До: Отформатированный фрагмент выше + кнопка «Минифицировать»
После: Роутер4290