Pular para o conteúdo principal
PulsarKit

Converter CSV para XML

Envolva uma tabela CSV em XML válido: você escolhe os nomes das tags raiz e de linha, as colunas viram elementos ou atributos e os cabeçalhos são corrigidos para nomes de tag válidos.

Solte seus arquivos aqui

.csv, .tsv, .txt · até 300 MB

Mais configurações

Como Converter para XML

  1. 1

    Solte seu arquivo CSV

    Arraste um arquivo .csv, .tsv ou .txt para a página. O delimitador e a codificação de caracteres são deduzidos dos próprios bytes.

  2. 2

    Dê nome às tags raiz e de linha

    Decida o que envolve o documento e o que envolve cada linha: rows e row por padrão, ou catalog e product, se for isso que o sistema de destino lê.

  3. 3

    Converta e baixe o XML

    Clique no botão e salve um documento bem formado, com declaração XML e indentação de verdade.

Cabeçalhos de coluna que não podem ser nomes de tag

Exportações reais têm cabeçalhos como 2024 sales, order id ou uma célula vazia, e nenhum deles é um nome XML válido. Descartar uma coluna assim faria perder dados, então o nome é corrigido do jeito que o XML 1.0 exige: caracteres não permitidos viram sublinhados, um dígito no início ganha um n na frente, e cabeçalhos vazios viram column_1. Cada renomeação aparece em uma lista.

Elementos ou atributos, e quando a escolha é ignorada

Cada coluna pode virar um elemento filho da linha ou um atributo dela. Atributos deixam o documento compacto, mas os parsers de XML normalizam uma quebra de linha dentro do valor de um atributo para um espaço. Por isso, uma coluna com texto em várias linhas é gravada como elemento, seja qual for a configuração, e você fica sabendo qual coluna foi.

Escape e codificação em que você não precisa pensar

Os e comerciais (&) e os sinais de menor e maior nos seus dados são escapados para você, assim como as aspas dentro de atributos, e os caracteres de controle que o XML não permite em caso nenhum são removidos, com a contagem informada. O resultado é sempre UTF-8 sem marca de ordem de bytes, com uma declaração XML que diz isso, seja qual for a codificação do CSV de origem.

Sem upload, sem servidor, sem cópia

Decodificar o CSV, corrigir os nomes, escapar os valores e serializar o documento: tudo acontece nesta aba do navegador, em JavaScript que vem com a página. Seu arquivo nunca é enviado para lugar nenhum, então uma lista de preços ou uma exportação de clientes fica no seu dispositivo mesmo durante a conversão.

Perguntas frequentes

Posso escolher os nomes das tags?

Sim, os dois. O elemento raiz é rows por padrão, cada registro é row, e você pode trocar qualquer um deles por um nome válido, como catalog e product, ou orders e order. Um nome que o XML rejeitaria, como um que comece com dígito, é recusado logo de início, com uma sugestão corrigida, em vez de gerar um arquivo quebrado.

As colunas devem ser elementos ou atributos?

Elementos são o padrão mais seguro: aceitam qualquer texto, inclusive quebras de linha, e a maioria dos esquemas espera elementos. Atributos geram um documento bem mais curto e servem para identificadores curtos, mas o valor precisa caber em uma só linha. Escolha a forma que o sistema que vai ler o arquivo espera.

O que acontece com um cabeçalho como 2024 sales?

Por padrão, ele é corrigido para uma tag válida: o espaço vira sublinhado, e o dígito do início ganha um prefixo, o que resulta em n2024_sales. Uma lista com cada coluna renomeada é exibida, para que nada mude sem você saber. Se preferir que a ferramenta pare em vez de corrigir, mude a opção de nomes inválidos para interromper a conversão.

Meu CSV usa ponto e vírgula e Windows-1251. Preciso convertê-lo antes?

Não. Ponto e vírgula, tabulação, barra vertical e dois-pontos são todos testados junto com a vírgula, e a codificação é detectada por uma marca de ordem de bytes ou, na falta dela, por uma verificação estrita de UTF-8, com Windows-1251 ou Windows-1252 como alternativa. Os dois podem ser definidos à mão se você discordar da detecção.

As células vazias aparecem no resultado?

Por padrão, uma célula vazia vira um elemento vazio autofechado, o que mantém todos os registros com a mesma forma e facilita a vida de quem percorre os dados. Configure os valores vazios para serem omitidos, e o elemento some por completo, gerando um documento menor, com registros de formato variável.

Em que codificação o XML é gravado?

Sempre em UTF-8, sem marca de ordem de bytes, com a declaração correspondente no topo. É essa combinação que os parsers de XML pressupõem, e ela evita a incompatibilidade entre a codificação declarada e os bytes reais. A declaração pode ser desativada para fragmentos que serão inseridos em um documento maior.

Duas das minhas colunas se chamam id. O que acontece?

A segunda vira id_2, e a terceira, id_3, porque, sem isso, um programa que percorre os filhos de um registro não teria como diferenciá-las. As renomeações aparecem na mesma lista dos nomes corrigidos.

O arquivo é enviado para ser convertido?

Não. Tudo roda localmente no seu navegador, sem nenhum servidor envolvido e sem cópia da sua tabela guardada em lugar nenhum depois que a aba é fechada.

Ferramentas relacionadas