tigtools

Formatador de XML

Cole XML para indentá-lo de forma organizada ou compactá-lo em uma única linha. Erros de marcação são informados com a linha e a coluna exatas.

Executado no seu navegador Sem cadastro

Modo
Indentação (espaços)

Digite algo para ver o resultado.

Como usar

  1. Cole o XML na caixa de entrada, abra um arquivo .xml do seu dispositivo ou teste o exemplo.
  2. Escolha Formatar para indentar o documento ou Minificar para remover os espaços em branco entre as tags.
  3. Escolha 2 espaços, 4 espaços ou tabulações para indentação e defina se os comentários serão mantidos.
  4. Se o XML não estiver bem formado, corrija o problema na linha e coluna indicadas. Caso contrário, copie ou baixe o resultado.

Como funciona

O formatador lê o XML com um parser próprio que entende elementos, atributos entre aspas simples ou duplas, comentários, seções CDATA, instruções de processamento, como a declaração <?xml?>, e declarações DOCTYPE, incluindo um subconjunto interno. Ele verifica as regras de XML bem formado: todo elemento aberto deve ser fechado na ordem correta, deve haver exatamente um elemento raiz, nomes de atributos não podem se repetir, valores de atributos não podem conter < e todo & deve iniciar uma referência de entidade.

Ao formatar, cada elemento, comentário e seção CDATA fica em sua própria linha. Um elemento que contém apenas texto permanece em uma linha, por exemplo <title>Midnight Rain</title>. Espaços no início e no fim dentro de nós de texto são removidos, e texto composto apenas por espaços entre tags é descartado. Se o espaço em branco for importante em parte de um documento, marque esse elemento com xml:space="preserve" e ele será copiado exatamente como foi escrito.

A minificação remove o texto composto apenas por espaços entre tags e, se você desmarcar “Manter comentários”, remove os comentários. O conteúdo de texto e CDATA não é alterado. Referências de entidade como &amp; são mantidas como escritas, nunca expandidas.

Esta é uma verificação de boa formação, não uma validação contra um DTD ou XML Schema: ela não sabe quais elementos um formato específico permite. Nomes com namespace, como xs:element, são tratados como nomes comuns.

Exemplos

Lendo uma resposta de API em uma linha

Uma resposta SOAP ou RSS chega como uma única linha de 4.000 caracteres. Formatá-la com indentação de 2 espaços mostra o aninhamento de envelope, corpo e itens para você encontrar o campo desejado.

Encontrando uma tag quebrada em um sitemap

Um sitemap.xml falha ao carregar no Search Console. Ao colá-lo, aparece “Linha 214, coluna 5: A tag de fechamento </urlset> não corresponde ao elemento aberto <url>”, o que indica a entrada que está sem o </url>.

Reduzindo um arquivo SVG ou de configuração

Minifique com “Manter comentários” desmarcado para remover a indentação e os comentários do editor de um ícone SVG antes de incorporá-lo em uma página.

Perguntas frequentes

Ele valida contra um esquema (XSD) ou DTD?

Não. Ele verifica se o documento é bem formado: aninhamento correto, um elemento raiz, atributos entre aspas, sem atributos duplicados e referências de entidade válidas. Não é verificado se os elementos são permitidos por um esquema específico.

A formatação altera meus dados?

A formatação remove espaços em branco entre as tags e corta espaços no início e no fim de nós de texto. Na maioria dos formatos de dados, esse espaço em branco não tem significado. Onde tiver, adicione xml:space="preserve" ao elemento e o conteúdo dele será copiado sem alterações. A minificação mantém o conteúdo de texto exatamente como estava.

Posso formatar HTML com esta ferramenta?

Somente se for XHTML. HTML comum permite tags como <br> sem barra de fechamento, o que o XML rejeita. Use o formatador de HTML para HTML normal.

Existe limite de tamanho?

Não há limite fixo, mas arquivos muito grandes (dezenas de megabytes) são processados na memória do seu dispositivo e podem deixar a página lenta. Arquivos abertos com “Abrir arquivo” podem ter até 20 MB.

Privacidade

Seu XML é analisado e formatado apenas no seu navegador. Nada é enviado, armazenado ou incluído em ferramentas de análise.