Tempo de leitura: 2 minutos
Olá, no post de hoje iremos aprender como usar a função XmlParser em ADVPL. Essa função retorna um objeto baseado na estrutura do arquivo XML que foi passado como parâmetro.
Ela é uma das funções de tratamento de XML em ADVPL.
Sintaxe:
Retorno:
Exemplo da função XmlParser em ADVPL:
#include 'protheus.ch'
#include 'rwmake.ch'
#INCLUDE "TBICONN.CH"
#INCLUDE "XMLXFUN.CH"
/*{Protheus.doc} User Function fXmlPars
Link de referência:https://tdn.totvs.com/display/tec/XmlParser
(Essa função tem por finalidade mostrar a função XmlParser em ADVPL)
@type Function
@author Adilio Costa
@since 18/12/2024
@version 1.0
@Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@Conheça os Cursos e Formações ProtheusAdvpl:
https://cursos-e-formacoes-protheusadvpl.gr-site.com/
|Se esse conteúdo foi útil pra você nos ajude divulgando
ele e nossas redes sociais!!|
*/
User Function fXmlPars()
Local cErro := ""
Local cAviso := ""
Local oXml := Nil
//Gera o Objeto XML
oXml := XmlParser( GeraXML(), "_", @cErro, @cAviso )
//Se objeto oXml for igual a Nil será atribuído o erro ou um aviso às variáveis cErro e cAviso
If(oXml == Nil)
MsgStop("Falha ao gerar Objeto XML : "+cErro+" / "+cAviso)
Return
Else
cMsg := "Linguagem 1:" + oXml:_PROTHEUS:_LINGUAGENS:_LIN1:TEXT + Chr(10)+Chr(13)
cMsg += "Linguagem 2:" + oXml:_PROTHEUS:_LINGUAGENS:_LIN2:TEXT + Chr(10)+Chr(13)
cMsg := "Módulo 2:" + oXml:_PROTHEUS:_MODULOS:_MODULO2:TEXT
EndIf
FWAlertInfo(cMsg, "Função XmlParser")
Return oXml
Static Function GeraXml()
Local cXml
cXml := '<?xml version="1.0" encoding="ISO-8859-1"?>'
cXml += "<protheus>"
cXml += " <linguagens>"
cXml += " <lin1>ADVPL</lin1>"
cXml += " <lin2>TLPP</lin2>"
cXml += " </linguagens>"
cXml += " <modulos>"
cXml += " <modulo2>Compras</modulo2>"
cXml += " <modulo4>Estoque e Custos</modulo4>"
cXml += " <modulo5>Faturamento</modulo5>"
cXml += " <modulo6>Financeiro</modulo6>"
cXml += " </modulos>"
cXml += "</protheus>"
Return cXml
Bem, finalizamos mais um post aqui no blog. Espero que você tenha entendido, qualquer dúvida nos envie um e-mail para adiliocosta@protheusadvpl.com.br. Grande abraço e fica com Deus.
Links de referência(s):