Formatador de XML online
<!-- o xml formatado aparecerá aqui -->
O formatador de XML reindenta documentos XML com a hierarquia correta de tags, incluindo os casos que costumam quebrar formatadores simples: atributos longos, elementos vazios auto fechados e conteúdo misto.
Onde XML ainda aparece
Nota fiscal eletrônica, SOAP, RSS, sitemap, arquivos de build como pom.xml, configuração de servidor de aplicação e integração bancária. É formato antigo, mas segue muito vivo em contexto corporativo e fiscal no Brasil.
Um XML de NF-e vem tipicamente em uma linha só, com centenas de elementos. Reindentado, ele passa a ser conferível a olho.
Espaço em branco importa mais do que parece
Diferente do JSON, em XML o espaço entre tags pode ser conteúdo. A especificação do XML trata espaço dentro de um elemento com conteúdo misto como texto significativo, e xml:space="preserve" existe justamente para dizer isso ao processador. Reindentar um documento assim muda o conteúdo, não só a aparência.
Na prática isso quase nunca morde em NF-e ou SOAP, onde os elementos carregam só valores. Mas morde em XHTML, em documentos com texto corrido e em qualquer schema que declare mixed="true". Se o seu XML tem parágrafos, confira antes de sobrescrever o original.
Formatar não é validar
A formatação reorganiza o documento e detecta erro grosseiro de boa formação, como tag que abre e não fecha. Ela não verifica se o documento obedece a um esquema. Para isso existe o validador de XSD, que confere o documento contra um ou mais schemas.
Nada do que você cola aqui sai do seu navegador. O processamento é todo local, em JavaScript, sem envio para servidor, sem log e sem armazenamento.
Perguntas frequentes
Ele preserva os atributos e os namespaces?
Sim. A formatação mexe em quebra de linha e indentação. Atributos, prefixos de namespace, declaração XML e CDATA continuam onde estavam.
Posso formatar um XML de nota fiscal eletrônica?
Pode. É um dos usos mais comuns. O documento é processado localmente no navegador, então o conteúdo fiscal não sai da sua máquina.
Qual o tamanho máximo?
Não há limite fixo, mas acima de dezenas de milhares de elementos a coloração de sintaxe é desligada automaticamente e o resultado vira texto puro, porque renderizar tudo colorido travaria a aba.
Reindentar pode mudar o significado do documento?
Pode, em documentos com conteúdo misto, onde o espaço entre tags é texto de verdade. Em XML de integração, que só carrega valores em elementos, não muda nada. Na dúvida, guarde o original.
Referências
- W3C: Extensible Markup Language (XML) 1.0A especificação. A seção 2.10 é a que trata do espaço em branco significativo.
- W3C: XML Schema Part 1 (Structures)Onde mixed content é definido, que é o caso em que a indentação importa.