Обратная задача тоже частая: данные из REST API нужно отправить в систему, которая принимает только XML, или подготовить пример для SOAP-сервиса.
Как преобразовать
- Откройте документ в редакторе JSON.
- Выберите Файл → Преобразовать в → XML.
- Откройте результат в песочнице XML, скачайте его или сохраните в проект.

Как задать нужную форму XML
- Корневой элемент: если в JSON у объекта верхнего уровня одно свойство, оно и станет корнем:
{"order": {…}}→<order>…</order>. Иначе корнем будет<root>. - Атрибуты: свойства с префиксом
@—"@id": 42→id="42". - Текст элемента с атрибутами: свойство
#text. - Массивы:
"item": ["a", "b"]→ два элемента<item>. - null → пустой элемент
<note/>.
Имена, недопустимые в XML
Ключ JSON может быть любым, а имя элемента XML — нет: оно не может начинаться с цифры и содержать пробелы. Такие ключи заменяются на item, а окно перечисляет их в замечаниях. Переименуйте ключи в исходном JSON, если нужна точная форма.
Дальше
Если получатель проверяет XML по схеме, проверьте результат — «Проверка XML по XSD». Если схемы нет, её можно вывести из получившегося XML — «Генератор XSD из XML».
Пример
{"order": {"@id": 42, "item": ["a", "b"], "total": {"@currency": "RUB", "#text": 10.5}, "note": null}}
превращается в
<?xml version="1.0" encoding="UTF-8"?>
<order id="42">
<item>a</item>
<item>b</item>
<total currency="RUB">10.5</total>
<note/>
</order>
Вопросы и ответы
Как добавить пространство имён? Задайте его атрибутом: "@xmlns": "urn:example:orders" у корневого объекта — он станет атрибутом корневого элемента.
Массив на верхнем уровне — что будет? Корнем станет <root>, а элементы массива — элементами <item> внутри него.
Порядок элементов важен для схемы — сохранится ли он? Да, элементы идут в порядке ключей JSON. Если схема требует другой порядок, переставьте ключи в исходном документе.
