Erro E1226: Estrutura descompactada mal formada
O pacote abriu, mas o que havia dentro não é um XML válido.
O Erro E1226 acontece quando o conteúdo foi decodificado e descompactado, mas o que havia dentro não é um XML bem formado.
Por que acontece o Erro E1226
A DPS não trafega como XML puro. Antes de sair, ela passa por duas etapas:
| Etapa | O que acontece |
|---|---|
| 1. Compressão | O XML é comprimido em GZip, para reduzir o tamanho |
| 2. Codificação | O resultado é convertido para base64, para caber num campo de texto |
Do outro lado, o Sistema Nacional desfaz o caminho: decodifica o base64, descomprime o GZip e só então lê o XML. Um erro em qualquer dessas etapas barra a nota antes de o conteúdo dela ser avaliado — não há nada de errado com o que você declarou, apenas com o pacote que o transportou.
Este erro vem depois do anterior: o pacote abriu, e o problema está no conteúdo. Bem formado é um conceito estrutural, anterior a qualquer regra fiscal — significa que o XML obedece à sintaxe da linguagem.
| Problema | Exemplo |
|---|---|
| Tag aberta e não fechada | <vServ>100.00 |
| Aninhamento cruzado | <a><b></a></b> |
| Caractere especial não escapado | & solto no meio do texto |
| Conteúdo antes da declaração XML | Um espaço ou um BOM no início |
As causas mais comuns:
Caractere &, < ou > no meio de um texto — num nome de empresa como "Silva & Filhos", por exemplo — sem ser escapado.
XML montado por concatenação de strings, sem uma biblioteca que garanta a estrutura.
Conteúdo truncado por limite de tamanho, cortando o documento no meio.
BOM ou espaço antes da declaração <?xml.
No Berga
DFe › NFSe — a montagem do XML é responsabilidade do sistema.
Deixa que o Berga resolve gerando o XML de forma estruturada: caracteres especiais em razão social e endereço são tratados na origem. "Silva & Filhos" não quebra a nota. Conheça o Berga.
Como resolver o Erro E1226
- 1Valide o XML descompactado num validador de sintaxe antes de enviar.
- 2Confira se há
&,<ou>não escapados em nomes e descrições. - 3Confirme que não há espaço nem BOM antes de
<?xml. - 4Reenvie.
Como evitar o Erro E1226
Não monte XML por concatenação de texto. Caractere especial em nome de cliente é questão de tempo, e é ele que quebra a estrutura.
Se o Erro E1226 continuar
Erros vizinhos: falha na decodificação base64, prefixo de namespace não permitido e falha no esquema XML.
Persistindo, abra um chamado informando o horário do envio.
Referência: Anexo I do leiaute da DPS e da NFS-e (SEFIN/ADN), Sistema Nacional NFS-e.