XML para JSON

Cole um XML e receba um JSON pronto para usar no código. Atributos viram chaves que começam com @, elementos repetidos viram arrays e o texto de um elemento vira o seu valor.

Grátis e privado. Tudo funciona no seu navegador e nada é enviado.

Como funciona

  1. Cole ou abra um arquivoCole os seus dados na caixa de entrada ou abra um arquivo. Exemplo mostra como funciona.
  2. Confira o resultadoOs dados convertidos aparecem à direita enquanto você digita. Os erros mostram a linha e a coluna.
  3. Copie, baixe ou invertaCopie o resultado, salve como arquivo ou clique em Inverter para converter de volta.

Como o XML é mapeado para JSON

O elemento raiz vira a única chave do resultado. Um elemento que só contém texto vira um valor simples, então <nome>Ana</nome> se transforma em "nome": "Ana". Os atributos são escritos com um prefixo, @id por padrão, e quando um elemento tem atributos e texto, o texto fica em #text. Elementos com o mesmo nome lado a lado viram um array. Seções CDATA são lidas como texto, comentários e instruções de processamento ficam de fora.

Com o reconhecimento de números e booleanos ativado, valores como 89.90 e true viram tipos JSON de verdade. Códigos com zero à esquerda, como códigos de barras ou CEPs, e números com mais de 15 dígitos continuam como texto, então nada se perde. Note que um elemento que aparece uma só vez não vira array; se o seu código sempre espera uma lista, trate esse caso.

Sobre XML

XML (Extensible Markup Language) guarda dados em elementos aninhados com tags de abertura e fechamento, e pode acrescentar atributos a cada elemento. É comum em feeds, notas fiscais eletrônicas, arquivos do Office e serviços SOAP.

Sobre JSON

JSON (JavaScript Object Notation) escreve dados como objetos entre chaves, listas entre colchetes, texto entre aspas duplas, números, true, false e null. Quase toda API e linguagem de programação lê JSON.

Perguntas frequentes

Entidades externas ou DTDs são carregadas?

Não. O XML é lido pelo parser embutido do seu navegador, que não carrega arquivos externos. Nada é enviado pela rede.

Meus dados são enviados?

Não. A conversão acontece no seu navegador. Arquivos de configuração com senhas ou chaves nunca saem do seu dispositivo.

Por que yes continua como texto no meu JSON?

No YAML 1.2, a versão atual, só true e false são booleanos. Ferramentas antigas de YAML 1.1 também leem yes, no, on e off como booleanos. Ative a opção YAML 1.1 se o seu arquivo foi escrito para uma ferramenta assim.

O que acontece com vários documentos YAML?

Se a entrada tem mais de um documento, cada um começando com uma linha de três hífens, o resultado em JSON é uma lista com um item por documento.

Como os atributos XML aparecem no JSON?

Os atributos ganham um @ antes do nome, por exemplo @id. Se um elemento tem atributos e texto, o texto vai para #text. Você pode escolher outro prefixo para os atributos.

Funciona sem internet?

Sim. Depois que você abre a página uma vez, ela continua funcionando sem conexão com a internet.