Como solucionar caracter inválido no XmlDocument

Erro de codificação
Erro de codificação

Desde o início da era da informática as empresas fazem a troca de informações, transações interbancárias (CNAB), ou através de de qualquer outro padrão de troca de dados estruturada (EDI).

Em 2005 foi criado o projeto da Nota Fiscal eletônica (NF-e) para padronizar a troca de informações entre os estabelecimentos e a Secretaria da Fazenda.

O padrão hoje utilizado para a troca de informações pela Secretaria da Fazenda tanto para o projeto de Nota Fiscal eletrônica (NF-e), Conhecimento de Transporte eletrônico (CT-e) foi o XML (eXtensible Markup Language).

O erro pode ser observado na imagem acima, onde os três primeiros caracteres definem o tipo de codificação do arquivo.

Para corrigir este problema poderá ser feito como o exemplo abaixo, caso queira testar poderá fazer o download do projeto.

using System;
using System.Text;
using System.Xml;

namespace XmlTextWriter
{
  class Program
  {
    static void Main(string[] args)
    {
      //Carregando o arquivo com problema de codificação
      XmlDocument doc = new XmlDocument();
      doc.Load("arquivo-exemplo.xml");

      //Salvando um novo arquivo com o conteúdo do documento anterior
      using (XmlTextWriter writer = new XmlTextWriter("arquivo-corrigido.xml", new UTF8Encoding(false)))
      {
        writer.WriteRaw(doc.OuterXml);
        writer.Close();
      }
    }
  }
}

Sua única tarefa será utilizar o código dentro da diretiva using para salvar o XML de forma correta.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.