5. Utilidades
5.4. LeArquivoANSI
5.3. Validar Schema XML
« Anterior
5.5. Identar XML
Próximo »

5.4. LeArquivoANSI

Ler arquivo em codificação ANSI

Assinatura:

string LeArquivoANSI(string nomeArquivo, out int cResultado, out string msgResultado);

Descrição:

Funcionalidade recuperar o conteúdo do arquivo em codificação ANSI, o conteúdo do arquivo lido pode ter codificação ANSI ou UTF-8.

O XML deve ter codificação UTF-8, mas a maioria das aplicações trabalham com a codificação ANSI e isto causa problemas quando existem caracteres especiais ou acentuados, pois estes caracteres tem representação diferente no ANSI e no UTF-8.

Assim, o mesmo XML pode ser gravado de formas diversas e a leitura do arquivo sem considerar estes detalhes pode causar problema de corrompimento do arquivo, para um melhor entendimento veja o exemplo:

XML original com caractere especial de numeral º e caracteres acentuados: ã e í

<?xml version="1.0" encoding="UTF-8"?><MDFe><xNome>1º Tabelião de Protesto de Títulos</xNome></MDFe>

O XML pode ser gravado de 3 formas diferentes:

A leitura dos arquivos pode ter os seguintes resultados:

<?xml version="1.0" encoding="UTF-8"?><MDFe><xNome>1º Tabelião de Protesto de Títulos</xNome></MDFe>
<?xml version="1.0" encoding="UTF-8"?><MDFe><xNome>1º Tabelião de Protesto de Títulos</xNome></MDFe>
<?xml version="1.0" encoding="UTF-8"?><MDFe><xNome>1º Tabelião de Protesto de Títulos</xNome></MDFe>

A funcionalidade LeArquivoANSI lê os 3 tipos de arquivo e devolve uma string com codificação ANSI.

Parâmetros:

nome tipo fluxo descrição
nomeArquivo string entrada informar uma nome com o caminho do arquivo que deseja ler.
cResultado inteiro saída retorna o resultado da chamada do WS.
msgResultado string saída retorna a literal do resultado da chamada do WS

Retorno:

O resultado da chamada é uma string com o XML identado.

O cResultado retorna um dos seguintes códigos:

código Mensagem origem regra
7330 Leitura do arquivo realizada com sucesso DLL -
7331 Erro: Falha na leitura do arquivo XML :[Mensagem de Erro] DLL -

Histórico de atualização:

Exemplos:

Delphi

 
  //
  Util := CreateOleObject('MDFe_Util.util');
  //
  // formata XML, com identação para melhor visualização, não gravar o XML formatado,
  // pois este processo CORROMPE A ASSINATURA DIGITAL
  //
  XMLAnsi := Util.LeArquivoANSI('c:\mdfe.xml', resultado, msgResultado);
  //
5.4. LeArquivoANSI
5. Utilidades
« Anterior
5.3. Validar Schema XML
Próximo »
5.5. Identar XML