Conversor de XML para CSV
Converta dados de XML para CSV instantaneamente enquanto digita, direto no navegador.
Entrada
Saída
Leia-me
O que são esses formatos de dados?
Os programas armazenam e trocam dados estruturados, como configurações, registros e listas, em formatos de texto que representam os dados de maneiras diferentes. Um conversor é útil quando um programa fornece dados em um formato que outro não consegue ler, ou quando determinado formato é mais fácil de ler ou editar para a tarefa em questão.
| Formato | Como representa os dados | Onde você encontra |
|---|---|---|
| JSON | Objetos entre chaves, listas entre colchetes, texto entre aspas duplas | APIs Web e configurações de aplicativos |
| YAML | Linhas indentadas chave: valor, itens de lista iniciados por - |
Docker Compose, Kubernetes e arquivos de pipeline de CI |
| XML | Elementos em tags, que podem ter atributos | Documentos, feeds RSS e serviços Web SOAP |
| TOML | Linhas chave = valor sob cabeçalhos [tabela] |
Arquivos de configuração, como Cargo.toml e pyproject.toml |
| TOON | Linhas indentadas, com listas de registros em linhas sob seus campos | Dados estruturados enviados a modelos de linguagem de IA |
| CSV | Uma linha de cabeçalho, seguida de uma linha por registro, com valores separados por vírgulas | Planilhas e exportações de bancos de dados |
| TSV | Como CSV, mas com tabulações entre os valores | Células copiadas de uma planilha |
| MessagePack | Dados binários, exibidos aqui como bytes hexadecimais | Mensagens compactas entre programas |
| JSON5 | JSON que também permite comentários, aspas simples e chaves sem aspas | Arquivos de configuração escritos manualmente |
| JSONL | Um valor JSON por linha, também chamado de JSON Lines ou NDJSON | Logs e conjuntos de dados |
| INI | Linhas chave = valor sob cabeçalhos [seção] |
Arquivos de configuração de programas, como php.ini |
| Propriedades | Linhas chave = valor com chaves separadas por pontos |
Aplicativos Java, como os arquivos application.properties do Spring Boot |
Descrição da ferramenta
Esta ferramenta converte dados entre estes 12 formatos: JSON, YAML, XML, TOML, TOON, CSV, TSV, MessagePack, JSON5, JSONL, INI e propriedades Java. Todos os conversores de formatos de dados aqui funcionam da mesma maneira, desde o Conversor geral de formatos de dados até os conversores para um único par, como JSON para YAML, CSV para JSON ou XML para JSON: eles começam com os formatos indicados no nome, e os menus Origem e Destino permitem escolher qualquer outro. Cole ou digite seus dados, e o resultado aparece enquanto você digita em um editor de código com realce de sintaxe, pronto para copiar. O botão de troca inverte a conversão e transforma o resultado na nova entrada.
Quando a entrada não é válida no formato de origem, a mensagem de erro informa o que está errado, geralmente indicando a linha e a coluna do problema.
Seus dados são convertidos no navegador e nunca são enviados para um servidor.
Exemplo
Este JSON:
{
"users": [
{ "id": 1, "name": "Ann", "admin": true },
{ "id": 2, "name": "Bo", "admin": false }
]
}se transforma neste YAML:
users:
- id: 1
name: Ann
admin: true
- id: 2
name: Bo
admin: falseneste CSV, com uma linha por usuário:
id,name,admin
1,Ann,true
2,Bo,falsee neste TOON:
users[2]{id,name,admin}:
1,Ann,true
2,Bo,falseComo os formatos são convertidos entre si
Os formatos não armazenam todos os mesmos tipos de dados, então algumas conversões seguem estas regras:
- CSV e TSV armazenam uma tabela. A primeira linha nomeia as colunas, e cada uma das linhas seguintes se torna um objeto. Objetos aninhados se tornam colunas nomeadas de acordo com seus caminhos, e listas se tornam texto JSON em suas células, então
{"name": "Ann", "address": {"city": "Oslo"}, "tags": ["a", "b"]}se transforma nas colunasname,address.cityetags. Na conversão de volta, essas colunas se tornam objetos aninhados e listas novamente. Quando os dados são um objeto que contém uma única lista, como{"users": [...]}, as linhas correspondem aos itens dessa lista, e uma lista de listas se torna linhas sem cabeçalho. - Valores de texto: CSV, TSV, XML, INI e propriedades armazenam apenas texto, então os conversores transformam
trueefalseem valores booleanos e números escritos sem formatação especial, como42ou3.5, em números. Valores como007,1.50ou1e3permanecem como texto, preservando exatamente o formato de códigos postais e números de versão. - Os atributos XML se tornam chaves iniciadas por
@, e o texto de um elemento que tem atributos se torna#text:<price currency="USD">44.95</price>se transforma em{"@currency": "USD", "#text": 44.95}. Elementos repetidos se tornam uma lista. Na conversão para XML, as chaves iniciadas por@voltam a ser atributos. Um objeto com uma única chave cujo valor não seja uma lista se torna o elemento raiz. Os outros dados ficam dentro de um elemento<root>, com cada item de uma lista no nível superior dentro de um elemento<item>. Caracteres que não podem ser usados em nomes XML, como espaços, são substituídos por_. - TOML, INI e propriedades só podem armazenar valores nomeados no nível superior, então os dados que forem uma lista são escritos com o nome
items, e um valor único, com o nomevalue. TOML não tem valor nulo, então os valores nulos são omitidos. - INI representa objetos aninhados como seções, como
[server.ssl], listas de valores como linhaschave[] = valore listas de objetos como seções nomeadas de acordo com sua posição, como[users.0]. - As chaves de propriedades unem nomes aninhados com pontos e numeram itens de listas entre colchetes, como
app.hosts[0], seguindo o formato usado pelo Spring Boot. Quando convertidas para YAML ou JSON, essas chaves se tornam objetos e listas aninhados, então um arquivoapplication.propertiesé convertido para a estrutura de um arquivoapplication.yml. Caracteres fora do Latin-1 são escritos como sequências de escape\u. - Os resultados YAML colocam entre aspas o texto que leitores YAML 1.1 interpretariam como outra coisa, como
on,yesou uma data, para que leitores YAML 1.1 e YAML 1.2 obtenham os mesmos dados. Um arquivo YAML com vários documentos separados por---se torna uma lista desses documentos, e as chaves de mesclagem<<são expandidas. - MessagePack é binário, então as ferramentas o leem e gravam como bytes hexadecimais:
{"a": 1}é81 A1 61 01. A entrada pode ter espaços, vírgulas e0xantes de cada byte. Várias mensagens consecutivas se tornam uma lista. - Os resultados JSONL têm cada item da lista em sua própria linha.
- Números inteiros grandes demais para serem representados por números JavaScript, como IDs de 64 bits, preservam todos os seus dígitos.
- Datas e horas TOML e carimbos de data/hora MessagePack se tornam texto, como
1979-05-27T07:32:00Z.
Dicas
- Para converter células de uma planilha, copie-as e cole-as como TSV: aplicativos de planilha copiam células como texto separado por tabulações.
- CSV e TSV são adequados para dados organizados como uma lista de registros semelhantes. Dados profundamente aninhados são mais fáceis de ler como YAML, TOML ou TOON.
- Os comentários em arquivos YAML, XML, TOML, JSON5, INI e de propriedades não são mantidos, pois os conversores transferem apenas os dados.