Перейти к содержимому

Конвертер XML в JSON, CSV и Excel

Преобразуйте XML в JSON, CSV или Excel и обратно: выбирайте, как обрабатывать атрибуты, массивы и повторяющиеся элементы. Всё конвертируется прямо в браузере.

Конвертировать в
Перетащите файл XMLXML до 100 MB · JSON, CSV, XLSX, XLS, ODS до 500 MB
Выбрать файлОбработка на вашем устройстве — файлы не покидают его
Работает в браузере · без загрузки на серверКак это работает

Как пользоваться: Конвертер XML

  1. 1

    Добавьте файл или вставьте текст

    Перетащите файл XML, JSON, CSV или Excel либо вставьте текст. Тип данных определяется по содержимому.

  2. 2

    Выберите итоговый формат

    XML превращается в JSON, CSV или Excel, а JSON, CSV и листы Excel — в XML. Неподходящие для ваших данных форматы неактивны.

  3. 3

    Настройте соответствие

    Решите, как обрабатывать атрибуты, повторяющиеся элементы и пространства имён, какой элемент считать одной строкой и как назвать корневой элемент и элемент строки.

  4. 4

    Скопируйте или скачайте

    Результат обновляется при смене параметров. Скопируйте текст или скачайте файл .json, .xml, .csv или .xlsx.

Лимиты и Pro

Файлы XML до 100 MB; файлы JSON, CSV и Excel до 500 MB.

Файлы JSON, CSV и Excel до 4 GB; для XML на любом тарифе остаётся 100 MB, так как документ целиком хранится в памяти. Смотреть Pro

О инструменте «Конвертер XML»

Конвертер XML переносит данные между XML и форматами, которые понимает большинство программ. В одну сторону он читает XML-документ — прайс-лист поставщика, выгрузку из банка или налоговой, RSS-ленту, GPX-трек, ответ SOAP — и записывает его как JSON, файл CSV или лист Excel. В другую превращает JSON, файл CSV или таблицу в XML для системы, которая принимает только XML.

У XML нет единственного способа преобразования в JSON, поэтому выбор за вами: атрибуты как ключи «@id», как обычные ключи или вовсе без них; текст элемента под ключом «#text», если у элемента есть атрибуты или дочерние элементы; повторяющиеся элементы как массивы или каждый дочерний элемент как массив ради стабильной структуры; числа и true/false как типизированные значения или как строки; префиксы пространств имён вроде dc: сохранены или отброшены.

Для таблиц выберите повторяющийся элемент — catalog › book, rss › channel › item — и каждый из них станет строкой. Атрибуты и вложенные элементы превращаются в столбцы с именами через точку, например price.currency; повторяющиеся дочерние элементы объединяются в одной ячейке или раскладываются по пронумерованным столбцам.

При создании XML ключи и заголовки столбцов становятся именами элементов (недопустимое имя вроде «Unit price» записывается как Unit_price), массивы повторяют элемент, а результат выводится с отступами или в одну строку, с объявлением XML или без него.

Парсер строгий: если файл составлен неправильно, вы увидите строку и столбец первой ошибки. Комментарии и инструкции обработки в результат не попадают, DTD и внешние сущности не загружаются, а текст, смешанный со встроенными тегами, объединяется в одно значение.

Конфиденциальность

XML, JSON и таблицы разбираются и конвертируются в Web Worker прямо на этой вкладке: ничего не загружается на сервер, внешние DTD и сущности не запрашиваются, а вставленный текст не сохраняется.

Возможности

XML ↔ JSON

Атрибуты как @-ключи, массивы для повторов, типы и пространства имён по вашему выбору.

XML ↔ CSV и Excel

Выберите повторяющийся элемент, вложенные теги станут столбцами.

Корректный XML на выходе

Имена исправлены, спецсимволы экранированы, с отступами или компактно.

Понятные сообщения об ошибках

Строка и столбец первой ошибки в структуре документа.

Конвертер XML: частые вопросы

Как атрибуты XML преобразуются в JSON?
По умолчанию каждый атрибут становится ключом с @ в начале, поэтому <book id="7"> даёт "@id": 7, а собственный текст элемента попадает под ключ "#text". Можно убрать @ и получить обычные ключи или совсем не выводить атрибуты. При обратной конвертации такого JSON в XML ключи с @ снова становятся атрибутами, так что в обе стороны данные сохраняются.
Почему в одной записи значение — массив, а в другой — объект?
Элемент, который встречается несколько раз внутри одного родителя, становится массивом, а встретившийся один раз — одиночным значением. Так работает большинство конвертеров. Если коду нужна одинаковая структура, включите параметр «Всегда использовать массивы»: тогда каждый дочерний элемент записывается как массив, даже если он встречается всего один раз.
Какой элемент XML становится строкой в CSV или Excel?
Автоматически выбирается первый повторяющийся элемент, если считать от начала документа: book в каталоге, item в RSS-ленте, order в выгрузке заказов. В списке показаны все повторяющиеся элементы и частота их появления, поэтому вы можете выбрать более глубокий, например позиции заказа внутри каждого заказа.
Можно ли преобразовать CSV или лист Excel в XML?
Да. Перетащите файл CSV или книгу Excel и выберите XML. Каждая строка станет элементом (row, если не переименуете) внутри корневого элемента (по умолчанию rows), а каждый столбец — дочерним элементом с именем из заголовка или атрибутом, если вы так захотите. Заголовки с пробелами или цифрой в начале исправляются, чтобы XML остался корректным.
Что будет, если в XML есть ошибка?
Конвертация остановится, а в сообщении будет указано, в чём проблема и где она находится: например, закрывающий тег в строке 12 не совпадает с открывающим из строки 9, неэкранированный & или пропущенная кавычка. Парсер проверяет правила XML 1.0 для тегов, атрибутов, кавычек и сущностей, поэтому ошибки обнаруживаются здесь, а не в системе, куда вы импортируете данные.

Другие задачи с этим инструментом