A função XmlParser foi descontinuada.
Recomenda-se usar a classe TXmlManager para interpretar XML, com melhor desempenho, suporte parcial a DOM/XPath e sem gerar classes dinâmicas.
Tempo aproximado para leitura: 00:01:00 min
Dúvida:
A função XmlParser foi descontinuada. Como deve ser feita a leitura e o parser de arquivos XML via código?
Ambiente:
Cross Segmento - TOTVS Backoffice (Linha Protheus) - ADVPL - Todas as versões.
Solução:
Recomenda-se a utilização da classe TXmlManager em substituição à função XmlParser.
A adoção da classe TXmlManager traz os seguintes benefícios:
Ao realizar o parser do XML, a nova classe não gera classes dinâmicas, melhorando a execução geral do programa.
Implementa partes dos modelos DOM (Document Object Model) e XPath (XML Path Language), o que permite representar o documento XML em árvore na memória e localizar as informações navegando através de seus elementos e atributos de forma estruturada.
Apresenta uma performance mais elevada na execução do parser.
exemplo de código:
#INCLUDE "TOTVS.CH"
User Function getObjXML()
Local oXml := NIL
Local cNomeCliente := ""
Local cXmlString := GeraXML()
oXml := TXmlManager():New()
If !oXml:Parse( cXmlString )
MsgStop("Falha ao processar a estrutura do XML lido: " + oXml:Error())
FreeObj(oXml)
Return NIL
EndIf
cNomeCliente := oXml:XPathGetNodeValue("/pedido/Nome_Cliente")
// Mostrando a informação do Node
MsgInfo(cNomeCliente, "Cliente")
FreeObj(oXml)
Return NIL
Static Function GeraXML()
Local cScript
cScript := '<?xml version="1.0" encoding="ISO-8859-1"?>'
cScript += "<pedido>"
cScript += " <Nome_Cliente>Microsiga Software</Nome_Cliente>"
cScript += " <Endereco>Av. Braz Leme</Endereco>"
cScript += " <Numero>1361</Numero>"
cScript += " <Data>22-03-2005</Data>"
cScript += " <Itens>"
cScript += " <Item>"
cScript += " <Produto>Protheus</Produto>"
cScript += " <Quantidade>1</Quantidade>"
cScript += " <Preco>100.00</Preco>"
cScript += " </Item>"
cScript += " </Itens>"
cScript += "</pedido>"
Return cScript
Saiba Mais
Classe TXmlManager
Leitura de arquivo XLS
XmlParser
FreeObj
0 Comentários