Работает на вашем устройстве · Ваш файл никогда не покидает устройство.
Перетащите CSV или вставьте текст — и получите документ XML с элементом <root>, одним элементом <item> на строку и одним дочерним элементом на столбец с именем из заголовка. Разделитель определяется автоматически (запятая, точка с запятой, табуляция, вертикальная черта), поля в кавычках обрабатываются по RFC 4180, метка BOM в начале файла убирается.
Имена столбцов, которые XML не может использовать как имена элементов — с пробелами, символами или начинающиеся с цифры, — приводятся к допустимым через подчёркивания («Unit price» становится Unit_price), так что результат всегда корректен. Значения записываются текстом внутри элементов; атрибутов нет, и документ прост для любого разбора.
Первые 200 строк видны до скачивания, а преобразование целиком выполняется на вашем устройстве.
Не подходит для: Создания XML под конкретную схему (банковский, налоговый или торговый формат) — имена элементов берутся из ваших заголовков, а не из схемы.
XML хранит любое значение как текст, поэтому распознавать числа или true и false здесь незачем, и эта страница такого не предлагает. Каждое значение записывается так, как оно стоит в CSV: 1.50 остаётся 1.50, 1e3 — 1e3, TRUE — TRUE, а слово NULL — NULL. Пустая ячейка даёт пустой элемент вроде <note/>, а ведущие нули, как в 007, сохраняются.
Сначала исправляются повторяющиеся и пустые заголовки: два столбца name становятся <name> и <name_2>, а пустой третий заголовок — <column_3>. Затем каждое имя приводится к допустимому в XML. Total (USD) становится Total__USD_, потому что пробелы и скобки превращаются в подчёркивания, а 1st — _1st. Дефис и точка разрешены, так что e-mail остаётся e-mail, а address.city остаётся одним элементом с таким именем и на вложенные элементы не делится. Заголовки на любой письменности, например кириллицей или по-китайски, сохраняются как написаны.
Если два заголовка в итоге получают одно имя, например "a b" и "a_b", оба записываются как <a_b> внутри каждого <item>. Программа, которая читает элементы по имени, может тогда увидеть только первый, поэтому заранее переименуйте один из них в CSV.
Текст читается по тем же правилам, что и в /csv-to-json, где они объяснены на примерах: как работают кавычки, как находится разделитель, как распознаётся кодировка файла и что происходит со строкой, где ячеек больше или меньше, чем в заголовке. В XML недостающая ячейка становится пустым элементом. У ячеек за последним заголовком нет имени элемента, поэтому они пропускаются, а сообщение говорит, в скольких строках они были и где первая из них.
Имена <root> и <item> фиксированы. Если система ждёт другие, например <customers> и <customer>, замените их в текстовом редакторе после скачивания; больше ничего в структуре менять не нужно.
Ещё в разделе Таблицы и данные
Эта страница на других языках: English · العربية · Deutsch · Français · Español · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা