Pular para o conteúdo principal
PulsarKit

Converter XML para CSV

Transforme um feed, uma exportação de produtos ou um arquivo RSS em tabela de planilha. O elemento de registro repetido é achado sozinho, sem XPath.

Solte seus arquivos aqui

.xml, .rss, .xhtml, .txt · até 300 MB

Mais configurações

Como Converter para CSV

  1. 1

    Solte seu arquivo XML

    Arraste um arquivo .xml ou .rss para a página. Ele é validado primeiro, então uma tag de fechamento que falta é informada com a linha e a coluna, em vez de virar meia tabela.

  2. 2

    Confirme o elemento de registro

    O elemento que se repete é detectado e mostrado com o número de registros, como rss.channel.item com quarenta. Escolha outro candidato se esse não for o nível que você queria.

  3. 3

    Converta e baixe o CSV

    Clique no botão e salve a tabela.

O XML não tem linhas, então é preciso encontrá-las

Uma árvore não diz qual nível é um registro. O documento é percorrido até a profundidade seis, contando quantos irmãos com o mesmo nome existem em cada caminho, e o maior grupo vence. No empate, ganha o caminho mais profundo, porque rss.channel.item é mais útil que rss.channel. São oferecidos até cinco candidatos, com o número de registros de cada um.

Atributos, aninhamento e filhos repetidos

Um atributo vira uma coluna própria com o prefixo @, então o id de um produto não colide com um elemento filho de mesmo nome. Os elementos filhos viram colunas com nomes separados por ponto, até a profundidade que você permitir, e o que ficar mais fundo é gravado em uma única célula como JSON. Filhos repetidos podem ser unidos em uma célula, numerados ou mantidos como JSON.

Namespaces e documentos hostis

Os prefixos de namespace são removidos por padrão, então dc:title chega como uma coluna title simples, e um feed que mistura três vocabulários continua gerando cabeçalhos legíveis. Documentos que declaram entidades personalizadas no DOCTYPE são rejeitados antes da análise, em vez de terem as entidades expandidas: é esse tipo de arquivo que trava uma aba do navegador.

Nada é enviado para converter

O validador, o analisador e o gerador de CSV são JavaScript rodando nesta aba do navegador. Nenhuma parte do documento é enviada para um servidor, armazenada ou registrada, e a ferramenta continua funcionando com a internet desligada. Feche a aba, e nada do arquivo fica.

Perguntas frequentes

Como a ferramenta decide qual elemento é um registro?

Ela conta repetições. Cada caminho até a profundidade seis é examinado em busca de elementos irmãos com o mesmo nome, e o caminho com mais deles vira o registro; se dois caminhos empatam, vence o mais profundo. As alternativas continuam visíveis com as contagens, e você também pode digitar um caminho quando o documento foge do comum.

Para onde vão os atributos do XML?

Cada atributo vira uma coluna com o prefixo @, então um atributo id vira @id e continua diferente de um elemento filho id. Se a sua exportação traz atributos de que você não precisa, mude a opção de atributos para deixá-los de fora: todos são descartados, e a tabela fica mais estreita.

O que acontece com os elementos aninhados dentro de um registro?

Eles viram colunas com nomes separados por ponto, como price.currency, até o limite de profundidade que você definir. Abaixo desse limite, a subárvore inteira é gravada em uma única célula como JSON, o que mantém os dados disponíveis sem gerar milhares de colunas quase vazias.

Por que o CSV começa com uma marca de ordem de bytes?

Para o Excel reconhecer o arquivo como UTF-8 no clique duplo, em vez de adivinhar uma página de código antiga e estragar texto com acentos ou em cirílico. Se o arquivo vai para um script ou para um carregador de banco de dados que não aceita bem essa marca, o UTF-8 sem BOM está a uma configuração de distância.

O Excel mostra tudo em uma coluna só. O que deu errado?

Nada no arquivo. O Excel separa as colunas pelo separador da configuração regional do sistema, que é o ponto e vírgula em boa parte da Europa. Converta de novo com ponto e vírgula selecionado ou use Dados e depois Texto para Colunas no arquivo que você já tem.

Funciona com feed RSS ou Atom?

Sim, esse é o caso mais fácil. A detecção chega sozinha a rss.channel.item ou ao elemento entry equivalente, cada item vira uma linha, e extensões com namespace, como Dublin Core ou tags de mídia, chegam como colunas comuns depois que os prefixos são removidos.

Por que apareceu uma aspa simples antes de um valor que começa com sinal de igual?

Porque, sem ela, uma planilha trataria o valor como fórmula, e um valor vindo de um feed não confiável pode ser montado para executar um comando quando o arquivo é aberto. O apóstrofo no início neutraliza isso. Números negativos simples, como -5, ficam intactos.

Meu arquivo tem um DOCTYPE e foi recusado. Por quê?

Um DOCTYPE que declara entidades é recusado de propósito. Definições de entidades aninhadas podem se expandir em gigabytes de texto e congelar a aba, e as externas podem tentar alcançar arquivos em outros lugares. Remova as declarações de entidades do DOCTYPE, e o documento é convertido normalmente.

Ferramentas relacionadas