Conversor XML ↔ JSON
Converter
Um conversor XML/JSON bidirecional que preserva o que a maioria dos conversores perde: atributos, conteúdo misto, elementos repetidos. Atributos viram chaves com prefixo `@` (configurável), então `<book id="1">` vira `{"@id": "1"}`. Elementos filhos repetidos colapsam em arrays. Conteúdo de texto ao lado de atributos vai para uma chave `#text` (também configurável). O lado XML usa o `DOMParser` nativo do navegador — o mesmo code path que seu navegador usa para respostas `application/xml`, então namespaces, entidades e CDATA todos funcionam. O lado JSON reverte as mesmas convenções para round-tripping.
Como usar
- Escolha a direção. Cole XML (ou JSON) — dados de amostra a um clique.
- Ajuste o prefixo de atributo e a chave de texto se está mirando um schema específico (`x2js`, `fast-xml-parser`, custom).
- JSON→XML deixa você definir um nome de elemento root e togglar a declaração `<?xml ... ?>`. Copie quando pronto.
Perguntas frequentes
- Por que prefixar atributos?
- Porque JSON não distingue nativamente atributos de elementos filhos. Prefixar (com `@`, `_`, ou o que você quiser) faz o round-trip lossless — você pode converter XML→JSON→XML e obter o mesmo documento. Sem a convenção, atributos colidiriam com nomes de elementos filhos.
- Lida com conteúdo misto (`<p>hello <b>world</b>!</p>`)?
- Parcialmente. Texto puro vira string; filhos elemento com texto viram `{ #text: '...' }` ao lado dos filhos. Texto e elementos intercalados (como `hello <b>world</b>!`) colapsam para o texto unido na chave `#text`, que round-trips mas perde a ordem original. Para documentos com conteúdo misto pesado (HTML, DocBook), um parser dedicado é melhor.
Ferramentas relacionadas
Conversor de Unidades CSS
Converta entre px, rem, em, pt, vw, vh e % usando seu próprio tamanho de fonte e viewport.
Conversor JSON ↔ YAML
Converta JSON em YAML ou YAML em JSON — escolha a indentação e copie o resultado.
Conversor de Tamanho de Dados
Converta entre bytes, KB, MB, GB, TB — em decimal (1000) ou binário (1024).
Conversor de Algarismos Romanos
Converta entre algarismos arábicos e romanos de 1 a 3999.
Conversor de Bases Numéricas
Converta números entre binário, octal, decimal e hexadecimal.
Conversor de Unidades
Converta comprimento, peso, temperatura, área, volume, velocidade e tempo.