Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmento - TOTVS Backoffice (Linha Protheus) - ADVPL - Leitura de arquivos com extensão XML

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. 



time.png 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

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _