Отладка SOAP / API
Вставьте сырой SOAP-ответ из лога сети, отформатируйте — и реальный fault теперь виден внутри конверта. Строка и столбец ошибки позволяют за секунды добраться до неправильного префикса namespace или неэкранированного &.
Форматируйте, минифицируйте и проверяйте любой XML — REST-ответы, SOAP-конверты, RSS-ленты, sitemap, Maven, AndroidManifest. Вывод с подсветкой синтаксиса, отчёты об ошибках с указанием строки и столбца. Всё в вашем браузере.
Well-formed — это базовый набор структурных правил: теги должны быть правильно вложены и закрыты, атрибуты заключены в кавычки, должен быть единственный корневой элемент, специальные символы должны быть экранированы (<, & и т. д.). Этот инструмент проверяет well-formed с помощью встроенного в браузер DOMParser.
Validity (валидность) — более строгая проверка по схеме (DTD, XSD, RelaxNG): «документ соответствует этой грамматике». Браузерный DOMParser не выполняет валидацию по схеме; для XSD-валидации нужен серверный инструмент вроде xmllint --schema.
Да. Секции CDATA (<![CDATA[…]]>) сохраняют содержимое ровно как написано — спецсимволы внутри не переэкранируются. Комментарии (<!-- … -->) и processing instruction (<?xml-stylesheet … ?>) возвращаются на свои исходные позиции. Declaration XML и строка doctype сохраняются как первые строки.
SOAP-конверты, RSS-ленты, sitemap, Maven `pom.xml`, AndroidManifest — всё корректно обрабатывается при форматировании, минификации и валидации.
Настраиваемый отступ: 2 пробела, 4 пробела или Tab. Самозакрывающиеся теги остаются самозакрывающимися. Секции CDATA, комментарии, processing instruction и declaration XML переживают форматирование без потерь.
Удалите незначащие пробелы между элементами и сверните весь документ в одну строку. Полезно для встраивания XML в строковое поле JSON или передачи по узкому каналу.
Проверка well-formed с помощью встроенного DOMParser браузера. При ошибке строка и столбец некорректной разметки показываются прямо в интерфейсе, чтобы вы могли сразу перейти к проблеме.
Имена тегов, атрибуты, значения атрибутов, текст, комментарии, CDATA и processing instruction — всё имеет цветовую кодировку, так что структура читается мгновенно.
Каждый байт остаётся в браузере. Разбор, форматирование, валидация и скачивание выполняются как JavaScript на вашей машине. Откройте DevTools → Network и убедитесь: ноль исходящих запросов.
Чистый JavaScript, без рантайма фреймворка. Холодная загрузка — менее 25 КБ в gzip. Форматирование XML-документа размером 200 КБ и повторный рендер с подсветкой синтаксиса занимают менее 80 мс.
Четыре шага от грязного XML к чистому, проверенному выводу.
Перетащите или вставьте любую XML-нагрузку — ответы REST API, SOAP-конверты, RSS / Atom-ленты, sitemap, конфиги. Инструмент автоматически форматирует по мере ввода (с задержкой 350 мс).
2 пробела — современный стандарт (соответствует Prettier и большинству style guide). 4 пробела — более старая конвенция (Java и.NET). Tab подстраивается под ширину табуляции в вашем редакторе — удобно, когда документ будут править вручную.
Validate сообщает о любых ошибках well-formed с указанием строки и столбца. Minify сворачивает документ в одну строку — удобно для встраивания XML в строку JSON, столбец БД или переменную shell.
Нажмите иконку копирования, чтобы отправить очищенный XML в буфер обмена, или скачайте как formatted.xml. Вывод сохраняет CDATA, комментарии, processing instruction и declaration XML.
Четыре типичных XML-сценария, где приватный браузерный форматтер выигрывает у запуска IDE.
Вставьте сырой SOAP-ответ из лога сети, отформатируйте — и реальный fault теперь виден внутри конверта. Строка и столбец ошибки позволяют за секунды добраться до неправильного префикса namespace или неэкранированного &.
Вставьте написанный вручную `sitemap.xml` или RSS-ленту, проверьте well-formed перед отправкой в Search Console / агрегаторы. Минифицируйте до одной строки, чтобы встроить в скрипты автоматизации.
Maven pom.xml, Spring beans, маппинги NHibernate, Android AndroidManifest.xml — все выигрывают от переформатирования после ручных правок. Проверяйте перед коммитом, чтобы поймать опечатки, на которые иначе ругнётся сборка.
.docx, .xlsx, .pptx и .epub — это ZIP-архивы XML. Извлеките внутренний XML, вставьте сюда, отформатируйте, и вы сможете аккуратно прочитать или отредактировать структуру перед обратной упаковкой.
XML-нагрузки никогда не покидают ваше устройство. Откройте DevTools → Network и увидите ноль исходящих запросов во время форматирования, валидации, копирования или скачивания.
DOMParser; форматирование и минификация — простые JavaScript-обходы получившегося DOM-дерева.
Подборка материалов про XML, отладку SOAP и работу с конфигурационными файлами.
Where XML still beats JSON (SOAP, RSS, Office docs, EPUB, sitemaps, configs) and where JSON wins. Worked examples and migration patterns.
Reading XML namespace prefixes, finding the actual fault inside a SOAP envelope, and using a browser-based formatter to spot the issue without firing up SoapUI.
Well-formed — это базовый набор структурных правил: теги должны быть правильно вложены и закрыты, атрибуты заключены в кавычки, должен быть единственный корневой элемент, специальные символы должны быть экранированы (<, & и т. д.). Этот инструмент проверяет well-formed с помощью встроенного в браузер DOMParser.
Validity (валидность) — более строгая проверка по схеме (DTD, XSD, RelaxNG): «документ соответствует этой грамматике». Браузерный DOMParser не выполняет валидацию по схеме; для XSD-валидации нужен серверный инструмент вроде xmllint --schema.
Да. Секции CDATA (<![CDATA[…]]>) сохраняют содержимое ровно как написано — спецсимволы внутри не переэкранируются. Комментарии (<!-- … -->) и processing instruction (<?xml-stylesheet … ?>) возвращаются на свои исходные позиции. Declaration XML и строка doctype сохраняются как первые строки.
Да, работает всё well-formed — SOAP-конверты (с префиксами namespace soap:Envelope, soap:Body), RSS / Atom-ленты, sitemap, SVG, plist, Maven pom.xml, конфиги Spring, EPUB container.xml, Android AndroidManifest.xml. Префиксы namespace сохраняются — мы не удаляем атрибуты xmlns:.
Самые частые причины: (1) неэкранированный & в тексте или значении атрибута — должен быть &; (2) два корневых элемента (XML допускает ровно один); (3) тег написан иначе, чем закрывающий (например, <Item>…</item> — XML чувствителен к регистру); (4) значение атрибута без кавычек; (5) несопоставленный < в текстовом содержимом. Строка и столбец в сообщении об ошибке указывают на проблемную позицию.
Нет. Разбор, форматирование, минификация, валидация, подсветка синтаксиса и скачивание — всё работает как JavaScript в вашем браузере. Откройте DevTools → Network и увидите ноль исходящих запросов во время использования. Мы используем один cookie для состояния согласия на cookie и один для языкового предпочтения — и всё.