Converter JSON para XML: raiz, atributos e arrays

XML precisa de uma única raiz e representa listas como elementos repetidos. Mapeie chaves com prefixo @ para atributos e #text para o texto do elemento e obtenha uma conversão reversível.

Escolher um elemento raiz

XML permite exatamente uma raiz. Se o JSON tem só uma chave de nível superior, use-a como elemento raiz; caso contrário, envolva tudo num elemento raiz sintético.

Atributos e texto

Chaves com prefixo @ viram atributos, e uma chave #text vira o conteúdo textual do elemento, seguindo a convenção padrão XML-para-JSON para a conversão ser reversível.

Arrays viram elementos repetidos

Um array JSON não vira um único elemento — cada item vira um elemento separado com o mesmo nome de tag, porque XML representa listas por repetição.

Escape

Escape & e <, > no texto (e aspas duplas dentro dos atributos) e coloque a declaração XML no começo para que a saída seja um documento completo.

Namespaces e prefixos

Os namespaces XML aparecem como atributos xmlns ou xmlns:prefixo e qualificam nomes de elementos e atributos. Em uma forma amigável para JSON, trate-os como chaves de atributo @xmlns / @xmlns:prefixo comuns e mantenha nomes com prefixo como soap:Envelope como chave — a maioria dos conversores preserva o prefixo verbatim.

Autofechantes vs vazios explícitos

Um valor JSON vazio pode virar uma tag autofechante (<note/>) ou um par vazio (<note></note>). Os dois são equivalentes em XML, mas alguns parsers a jusante lidam mal com uma das formas — prefira autofechante para saída compacta e o par explícito quando o consumidor for estrito.

Considerações de ida e volta

Alguns fatos do XML não têm equivalente em JSON: ordem de atributos, comentários, instruções de processamento e a diferença entre um elemento vazio e um ausente. Se você converter para JSON, alterar e converter de volta, espere perder esses artefatos — nunca use XML que passou pelo round-trip onde a canonicalização de assinaturas importa.

Formatar XML, embelezar XML, validar XML

O mesmo conversor serve como formatter, beautifier e validator de XML: cole qualquer XML, clique To JSON para validar a boa formação e depois To XML para re-emitir com indentação consistente. É a forma mais simples de formatar XML sem instalar uma ferramenta local — útil quando o editor não tem um visualizador XML ou um plugin de pretty-print.