- 11.4. Utilidadades
11.4.4. Identar XML - 11.4.3. Gerar PDF do DACTE
« Anterior - 11.4.5. LeArquivoANSI
Próximo »
11.4.4. Identar XML
Identar XML
Assinatura:
string IdentaXML(string txtXML, out long cResultado, out string msgResultado);
Descrição:
Funcionalidade identar um XML.
A SEFAZ orienta para que os XML sejam gerados sem formatação de quebra de linha e tabulação de formatação entre tags para economizar espaços.
Esta funcionalidade serve para fazer a identação do XML que será exibido ao usuário.
Exemplo:
XML sem identação:
<retConsStatServCte versao="1.04" xmlns="http://www.portalfiscal.inf.br/cte"><tpAmb>2</tpAmb><verAplic>SP_PL_CTe_104</verAplic><cStat>107</cStat><xMotivo>Serviço em Operação</xMotivo><cUF>35</cUF><dhRecbto>2011-11-22T05:15:07</dhRecbto><tMed>1</tMed></retConsStatServCte>
XML com identação:
<retConsStatServCte versao="1.04" xmlns="http://www.portalfiscal.inf.br/cte"> <tpAmb>2</tpAmb> <verAplic>SP_PL_CTe_104</verAplic> <cStat>107</cStat><xMotivo>Serviço em Operação</xMotivo> <cUF>35</cUF> <dhRecbto>2011-11-22T05:15:07</dhRecbto> <tMed>1</tMed> </retConsStatServCte>
Parâmetros:
nome | tipo | fluxo | descrição |
---|---|---|---|
txtXML | string | entrada | informar uma string com o XML que deseja identar |
cResultado | long | 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 |
---|---|---|---|
7310 | Identação do XML realizada com sucesso. | DLL | - |
7311 | Erro: Falha na Identação do XML :[Mensagem de Erro] | DLL | - |
Histórico de atualização:
- 2011-12-16 - v1.0- Versão preliminar.
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 // rtfDocto.Text := Util.IdentaXML(xmlString, resultado, msgResultado); //
Visual Basic 6.0
' ' declaração das variáveis que serão utilizadas na passagem de parâmetros da DLL ' Dim txtXML As String ' informar uma string com o XML que deseja identa Dim cResultado As Long ' retorna o resultado da chamada da dll Dim msgResultado As String ' retorna a literal do resultado da chamada da dll Dim XMLidentado AS String ' retorna o arquivo XML identado ' msgResultado = "" cResultado = 0 XMLidentado = "" ' Dim nomeArquivo As String ' nome do arquivo que será identado ' nomeArquivo = "c:\exemplo.xml" ' ' importante: verificar a existência do arquivo solicitado na pasta do VB e indicar o caminho correto para ele ' Carrega o conteúdo do nome do arquivo em txtXML ' Open nomeArquivo For Input As #1 txtXML = Input$(LOF(1), 1) Close #1 Dim objCTeUtil As Object Set objCTeUtil = CreateObject("CTe_Util.Util") Screen.MousePointer = vbHourglass ' ampulheta ' ' Dim Result As String ' XMLidentado = objCTeUtil.IdentaXML(txtXML, cResultado, msgResultado) ' ' Screen.MousePointer = vbDefault ' normal ' ' If cResultado = 7310 Then ' ' grava XML Identado ' nomeArquivo = "XMLidentado.xml" Open nomeArquivo For Output As #1 Print #1, XMLidentado Close #1 MsgBox msgResultado + Chr(13) + Chr(13) + XMLidentado, vbInformation, "Informação" Else MsgBox cResultado + Chr(13) + Chr(13) + msgResultado, vbInformation, "Falha na Identação" End If ' ' libera classe ' ' Set objCTeUtil = Nothing
- 11.4.4. Identar XML
11.4. Utilidadades - « Anterior
11.4.3. Gerar PDF do DACTE - Próximo »
11.4.5. LeArquivoANSI