Tempo de leitura: 2 minutos
Neste post, vamos aprender de forma objetiva como utilizar a função XmlParser em ADVPL. Esta função é essencial para converter uma string XML em um objeto manipulável, facilitando o acesso aos dados em integrações e rotinas do Protheus.
Diferente de outras funções, o XmlParser processa o conteúdo XML que já está em memória (string), transformando cada tag em uma propriedade do objeto gerado. Essa abordagem é fundamental na trilha de ADVPL Avançado no Protheus, especialmente para quem busca dominar o Tratamento de XML.
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
Conclusão
A função XmlParser simplifica o tratamento de dados estruturados, tornando o desenvolvimento de integrações mais ágil. Utilize esta abordagem sempre que precisar ler retornos de APIs ou strings XML. Se precisar manipular os dados em arrays após o parse, veja também como utilizar a função XmlNode2Arr.
Participe das nossas comunidades:
- 🔵 Telegram Programação: Acesse aqui
- 🟢 WhatsApp Programação: Entre no Grupo
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):