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

Конвертировать XML в CSV

Преобразуйте фид, выгрузку товаров или RSS-файл в табличный CSV — повторяющийся элемент записи находится автоматически, XPath не нужен.

Перетащите файлы сюда

.xml, .rss, .xhtml, .txt · до 300 МБ

Больше настроек

Как конвертировать в CSV

  1. 1

    Перетащите XML-файл

    Перетащите файл .xml или .rss на страницу. Сначала он проверяется: при отсутствии закрывающего тега вы увидите строку и столбец ошибки, а не наполовину заполненную таблицу.

  2. 2

    Подтвердите элемент записи

    Повторяющийся элемент находится автоматически и показывается с числом записей, например rss.channel.item с сорока. Если это не тот уровень, который нужен, выберите другой вариант.

  3. 3

    Конвертируйте и скачайте CSV

    Нажмите кнопку и сохраните готовую таблицу.

В XML нет строк таблицы, поэтому их приходится искать

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

Атрибуты, вложенность и повторяющиеся дочерние элементы

Атрибут становится отдельным столбцом с префиксом @, чтобы id у товара не пересекался с дочерним элементом с тем же именем. Дочерние элементы превращаются в столбцы с точечной нотацией до указанной глубины. Все, что глубже, записывается в одну ячейку как JSON. Повторяющиеся дочерние элементы можно склеить в одну строку, пронумеровать по отдельным столбцам или сохранить как JSON.

Пространства имен и опасные документы

Префиксы пространств имен по умолчанию убираются, поэтому dc:title превращается в обычный столбец title, а фид, сочетающий три словаря, все равно дает читаемые заголовки. Документы с пользовательскими сущностями в DOCTYPE отвергаются до парсинга, а не разворачиваются — такие файлы и подвешивают вкладку браузера.

Для конвертации ничего не загружается

Проверка, разбор XML и запись CSV выполняются JavaScript прямо в этой вкладке браузера. Никакая часть документа не отправляется на сервер, не сохраняется и не логируется, а инструмент продолжает работать даже при выключенной сети. Закройте вкладку — и от файла ничего не останется.

Частые вопросы

Как инструмент решает, какой элемент считать записью?

По числу повторов. Каждый путь до глубины шесть проверяется на одноименные соседние элементы, и путь с их максимальным количеством становится уровнем записи. Если два пути набрали одинаковое число, выбирается более глубокий. Остальные варианты видны с их счетчиками, а для необычных документов можно ввести путь вручную.

Куда попадают атрибуты XML?

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

Что происходит с элементами, вложенными в запись?

Они превращаются в столбцы с точечной записью вроде price.currency до выбранного предела глубины. Глубже этого предела все поддерево записывается в одну ячейку как JSON — данные сохраняются, но вместо тысяч почти пустых столбцов вы получаете компактную таблицу.

Почему CSV начинается с метки порядка байтов?

Чтобы Excel по двойному щелчку распознал файл как UTF-8, а не попытался угадать старую кодировку и испортил буквы с диакритикой или кириллицу. Если файл пойдет в скрипт или загрузчик БД, которому BOM мешает, переключитесь на обычный UTF-8 в настройках.

В Excel все оказалось в одном столбце. Что не так?

С файлом все в порядке — Excel делит по разделителю из системной локали, а во многих странах Европы это точка с запятой. Сконвертируйте файл заново, выбрав точку с запятой, или примените к уже открытому файлу «Данные → Текст по столбцам».

Сработает ли это с RSS или Atom-фидом?

Да, это самый простой случай: детектор находит rss.channel.item или соответствующий элемент entry, каждый item превращается в строку, а расширения с префиксами, вроде Dublin Core или media-тегов, становятся обычными столбцами после удаления префиксов.

Почему перед значением, начинающимся со знака равно, появляется кавычка?

Иначе таблица воспримет его как формулу, и значение из неподконтрольного фида можно подделать так, чтобы команда выполнилась при открытии файла. Начальный апостроф обезвреживает такое значение. Обычные отрицательные числа вроде -5 остаются как есть.

В моем файле есть DOCTYPE, и он был отклонен. Почему?

DOCTYPE с объявленными сущностями специально отклоняется. Вложенные сущности могут развернуться в гигабайты текста и повесить вкладку, а внешние — обратиться к файлам в других местах. Удалите объявления сущностей из DOCTYPE, и документ нормально конвертируется.

Похожие инструменты

CSV в XMLОберните таблицу CSV в корректный XML: свои имена корневого и строкового тегов, столбцы как элементы или атрибуты, заголовки приведены к допустимым именам тегов.XML в JSONПреобразуйте XML в JSON с атрибутами, CDATA и пространствами имен так, как вам удобно, а ошибки синтаксиса указывают точную строку.XML в ExcelПреобразуйте XML-ленты и выгрузки из систем в таблицу: повторяющийся элемент записи ищется автоматически, атрибуты становятся отдельными столбцами.CSV в ExcelПреобразуйте CSV-выгрузку в полноценную книгу XLSX, которая сразу открывается по столбцам — без мастера импорта, битых букв и пропавших ведущих нулей.Форматер XMLСделайте XML читабельным с отступами, сожмите его в одну строку или только проверьте — комментарии, CDATA и порядок атрибутов сохранятся как есть.Разделить CSVРазделите большой CSV на равные части или на отдельные файлы по значению столбца — с тем же заголовком, разделителем и кодировкой в каждой части.