11.4. Utilidadades
11.4.5. LeArquivoANSI
11.4.4. Identar XML
« Anterior
11.5. CriaProc
Próximo »

11.4.5. 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"?><CTe><xNome>1º Tabelião de Protesto de Títulos</xNome></CTe>

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"?><NFe><xNome>1º Tabelião de Protesto de Títulos</xNome></NFe>
<?xml version="1.0" encoding="UTF-8"?><NFe><xNome>1º Tabelião de Protesto de Títulos</xNome></NFe>
<?xml version="1.0" encoding="UTF-8"?><NFe><xNome>1º Tabelião de Protesto de Títulos</xNome></NFe>

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('CTe_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:\cte.xml', resultado, msgResultado);
  //

Visual Basic

 
 
Dim Resultado As Long
 
Dim msgResultado As String
 
Dim XMLAnsi As String
 
XMLAnsi = ""
msgResultado = ""
'
'  instancia classe
'

Dim objCTeUtil As Object
 
Set objCTeUtil = CreateObject("CTe_Util.util")
 
'
' Le arquivo
'
XMLAnsi = objCTeUtil.LeArquivoANSI("c:\cte.xml", Resultado, msgResultado)
 
If Resultado = 7331 Then
   MsgBox msgResultado, vbInformation, "Informação"
Else
  MsgBox XMLAnsi, vbInformation, "Informação"
End If
11.4.5. LeArquivoANSI
11.4. Utilidadades
« Anterior
11.4.4. Identar XML
Próximo »
11.5. CriaProc