Pular para o conteúdo
Case Converter Online
pt

Formatador e validador XML

Cole o XML para organizar o recuo, minificar ou conferir se ele está bem formado. Marcações quebradas são apontadas com a linha e a coluna, em vez de serem adivinhadas.

Cole seu XML ou clique em Exemplo. Pressione Ctrl e Enter para formatar. Tudo roda no seu navegador.

O que o formatador XML faz

O XML guarda dados estruturados como tags aninhadas. Ele é usado em feeds RSS, sitemaps, APIs SOAP, layouts do Android, arquivos pom.xml do Maven, documentos do Office e muitas exportações de dados. No Brasil, a nota fiscal eletrônica (NF-e) também é um arquivo XML. As máquinas muitas vezes escrevem o XML em uma única linha longa. Esta ferramenta organiza tudo com um elemento por linha e recuo consistente, para o aninhamento ficar fácil de acompanhar.

São três ações:

  • Formatar organiza o recuo do XML.
  • Minificar remove os espaços entre as tags para deixar o arquivo menor.
  • Validar confere se o documento está bem formado e aponta o primeiro problema.

Como usar

  1. Cole o XML na caixa da esquerda, clique em Abrir arquivo ou em Exemplo. O XML colado é formatado na hora.
  2. Escolha um Recuo de 2 espaços, 4 espaços ou tabulações.
  3. Clique em Formatar, Minificar ou Validar. Ctrl+Enter repete a última ação.
  4. Clique em Copiar ou em Baixar para salvar o resultado como um arquivo .xml.

Antes e depois

Um catálogo de produtos em uma linha só:

<?xml version="1.0" encoding="UTF-8"?><catalog><book id="bk101"><author>Gambardella, Matthew</author><title>XML Developer's Guide</title><price>44.95</price></book><book id="bk102"><author>Ralls, Kim</author><title>Midnight Rain</title><price>5.95</price></book></catalog>

Depois de Formatar com 2 espaços:

<?xml version="1.0" encoding="UTF-8"?>
<catalog>
  <book id="bk101">
    <author>Gambardella, Matthew</author>
    <title>XML Developer's Guide</title>
    <price>44.95</price>
  </book>
  <book id="bk102">
    <author>Ralls, Kim</author>
    <title>Midnight Rain</title>
    <price>5.95</price>
  </book>
</catalog>

O conteúdo de texto fica na mesma linha do seu elemento. Isso importa, porque colocar uma quebra de linha dentro de <price>44.95</price> mudaria o valor que um programa lê.

Minificar transforma a versão formatada de volta na linha única mostrada acima. Validar na mesma entrada informa: XML bem formado. Elemento raiz <catalog>, 9 elementos no total.

As seções CDATA ficam exatamente como foram escritas, então <script><![CDATA[if (a < b) run();]]></script> sai sem mudança.

Erros que o verificador encontra

Muitos formatadores de XML “consertam” a marcação quebrada sem avisar, por exemplo fechando uma tag em um lugar que você não queria. Este confere o documento primeiro e para no primeiro problema. Estas são mensagens reais da ferramenta:

Entrada Mensagem
<to>Tove</from> Linha 2, coluna 11: A tag de fechamento </from> não corresponde a <to>, aberta na linha 2
Smith & Sons Linha 1, coluna 16: Um "&" solto precisa ser escrito como &amp;
Um <item> que nunca é fechado Linha 4, coluna 1: A tag de fechamento </list> não corresponde a <item>, aberta na linha 3
<book id=101/> Linha 1, coluna 10: O valor de "id" precisa estar entre aspas
Dois elementos no nível mais alto Linha 2, coluna 1: Só é permitido um elemento raiz, mas foi encontrado um segundo: <b>

Clique em Mostrar na entrada para levar o cursor até o problema.

O que significa “bem formado”

Um documento XML está bem formado quando segue as regras básicas de sintaxe:

  • Toda tag de abertura tem uma tag de fechamento correspondente, ou se fecha sozinha, como <br/>.
  • As tags fecham na ordem inversa em que abriram.
  • Existe exatamente um elemento raiz.
  • Os valores dos atributos ficam entre aspas simples ou duplas, e nenhum atributo aparece duas vezes no mesmo elemento.
  • Um & ou um < literal no texto é escrito como &amp; ou &lt;.
  • A declaração <?xml ... ?>, se existir, é a primeira coisa do arquivo.

Entidades com nome, como &nbsp;, só são permitidas quando um DOCTYPE as declara, porque o XML em si só conhece cinco: &lt;, &gt;, &amp;, &apos; e &quot;. Acentos e cedilha podem ser escritos diretamente, desde que o arquivo esteja salvo na codificação declarada (normalmente UTF-8).

Dicas e limites

  • A validação não usa schema. Um documento pode estar bem formado e mesmo assim ter os elementos errados para a sua aplicação. No caso da NF-e, a validação contra os schemas oficiais é feita pelos sistemas emissores e pela Sefaz.
  • Os espaços dentro do texto são mantidos. Se precisar reorganizar um texto, edite à mão.
  • Minificar mantém os comentários. Apague antes se precisar do menor arquivo possível.
  • Tudo roda localmente, então configurações internas e exportações podem ser coladas com segurança.

Outras formas de formatar XML

xmllint. No Linux e no macOS, xmllint --format file.xml mostra uma cópia com recuo, e xmllint --noout file.xml só aponta os erros. Ele também confere com um schema usando --schema.

VS Code. Instale uma extensão de XML (a extensão XML da Red Hat é uma escolha comum) e use Formatar Documento.

Notepad++. O plugin XML Tools acrescenta um comando de Pretty Print.

Ferramentas relacionadas

Se os seus dados estão em JSON, use o formatador JSON. Para arquivos de configuração, o formatador YAML faz o mesmo trabalho com YAML. Para páginas web, use o formatador HTML, que entende regras do HTML que o XML não aceita.

Formatador XML: perguntas e respostas

Por que o formatador recusa meu XML em vez de corrigi-lo?

Adivinhar onde deveria ficar uma tag faltando pode mudar os seus dados sem você perceber. A ferramenta primeiro confere se o XML está bem formado e depois formata. Se não estiver, você recebe a linha, a coluna e o que está errado, para fazer a correção você mesmo.

Ele confere meu XML com um schema?

Não. Validar confere se o XML está bem formado: as tags se correspondem, os atributos estão entre aspas, existe um único elemento raiz e as entidades estão escritas corretamente. Conferir com um XSD ou DTD exige uma ferramenta que entenda schemas, como o xmllint.

O texto dentro dos elementos é alterado?

Não. Textos curtos ficam na mesma linha das tags, então <title>Midnight Rain</title> fica como está. Comentários, seções CDATA e a declaração XML também são mantidos.

Posso usar para HTML?

Só se o HTML também for um XML válido (XHTML). O HTML comum aceita tags como <br> sem fechamento, o que o XML não aceita. Use o Formatador HTML para páginas web comuns.

Meu XML é enviado para algum lugar?

Não. O formatador e o verificador rodam no seu navegador. Os arquivos que você abre com Abrir arquivo são lidos no seu aparelho.

Mais ferramentas de código e dados

Ver todas as ferramentas