Validador de XML online
Cole seu XML abaixo e clique em “Validar XML” para verificar se é bem formado.
O que significa XML “bem formado”?
Um XML bem formado (well-formed) segue todas as regras sintáticas do padrão XML:
- Todo elemento aberto deve ser fechado:
<tag></tag>ou<tag/> - Tags são case-sensitive:
<Nome>e<nome>são elementos diferentes - Atributos devem ter valores entre aspas:
id="001"(nãoid=001) - Deve haver exatamente um elemento raiz
- Elementos devem ser corretamente aninhados (sem sobreposição)
Erros comuns em XML
Tag não fechada
<!-- INVÁLIDO -->
<catalogo>
<produto>Notebook
</catalogo>
<!-- VÁLIDO -->
<catalogo>
<produto>Notebook</produto>
</catalogo>Caracteres especiais sem escape
Em XML, certos caracteres têm significado especial e precisam de escape:
| Caractere | Escape XML |
|---|---|
< | < |
> | > |
& | & |
" | " |
' | ' |
<!-- INVÁLIDO -->
<descricao>Preço < R$100 & disponível</descricao>
<!-- VÁLIDO -->
<descricao>Preço < R$100 & disponível</descricao>Atributo sem aspas
<!-- INVÁLIDO -->
<produto id=001 tipo=eletronico>
<!-- VÁLIDO -->
<produto id="001" tipo="eletronico">Diferença entre XML bem formado e XML válido
| Bem formado | Válido | |
|---|---|---|
| Definição | Segue a sintaxe XML básica | Segue um schema (DTD ou XSD) |
| Verificação | Qualquer parser XML | Requer validador de schema |
| Exemplo de erro | Tag não fechada | Campo obrigatório ausente |
Este validador verifica apenas se o XML é bem formado. A validação semântica contra um XSD requer ferramentas específicas.
Como validar XML em código
JavaScript (browser):
function isValidXml(text) {
const parser = new DOMParser();
const doc = parser.parseFromString(text, 'text/xml');
return !doc.querySelector('parsererror');
}Python:
import xml.etree.ElementTree as ET
def is_valid_xml(text):
try:
ET.fromstring(text)
return True
except ET.ParseError:
return FalsePHP:
function is_valid_xml(string $xml): bool {
libxml_use_internal_errors(true);
$doc = simplexml_load_string($xml);
libxml_clear_errors();
return $doc !== false;
}Usos práticos do XML hoje
- sitemap.xml: indexação por Google e outros motores de busca
- NFe (Nota Fiscal Eletrônica): padrão XML obrigatório da Receita Federal brasileira
- RSS/Atom: feeds de blogs, podcasts e portais de notícias
- Android:
AndroidManifest.xml, layouts e recursos - Maven:
pom.xmlpara gerenciamento de dependências Java - SOAP: serviços web corporativos e sistemas legados
Perguntas frequentes
Qual a diferença entre XML bem formado e XML válido?
Bem formado: segue a sintaxe correta do XML (tags fechadas, atributos com aspas, etc.). Válido: além de bem formado, os dados respeitam um schema definido (DTD ou XSD). Este validador verifica apenas se o XML é bem formado.
XML diferencia maiúsculas de minúsculas?
Sim. <Produto>, <produto> e <PRODUTO> são elementos completamente diferentes em XML. A convenção mais comum é usar letras minúsculas ou camelCase.
Como escapar caracteres especiais em XML?
Use as entidades pré-definidas: < para <, > para >, & para &, " para ", ' para '. Alternativamente, envolva o texto em <![CDATA[...]]>.
O que é um XSD?
XSD (XML Schema Definition) é uma linguagem para definir a estrutura, o conteúdo e os tipos de dados de um documento XML. Define quais elementos e atributos são obrigatórios, seus tipos e restrições. Use o Formatador de XML para visualizar e inspecionar seus documentos XML.