Histórico da Página
Aviso |
---|
Documentação de função não suportada ou descontinuadodescontinuada. |
Dica | ||
---|---|---|
| ||
Recomenda-se a utilização da classe tXmlManager em substituição a função XMLParser.
|
Descrição
Retorna um objeto, que possui uma estrutura XML, passado por parâmetro.
Sintaxe
Bloco de código |
---|
XmlParser( [ cXml ], [ cReplace ], [ cError ], [ cWarning ] ) |
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
cXml | caractere | Indica uma string que contém o código XML. | X | |
cReplace | caractere | Indica o valor que será atribuído como prefixo para a nomenclatura das propriedades do objeto XML em Advpl a partir dos nomes dos nodes do documento XML. Será usando também na substituição de qualquer caractere usado no nome do node XML que não faça parte da nomenclatura de uma variável Adppl, como espaços em branco por exemplo. | X | |
cError | caractere | Caso ocorra algum erro durante execução da função, a variável será preenchida com a descrição do erro ocorrido. | X | X |
cWarning | caractere | Caso ocorra alguma advertência durante execução da função, a variável será preenchida com a descrição da advertência ocorrida. | X | X |
Retorno
Nome | Tipo | Descrição |
---|---|---|
oXML | objeto | Retorna um objeto com a estrutura de acordo com o XML. |
Observações
- Posterior ao uso da XMLParser() e XMLParserFile(), ocorre a criação dinâmica do objeto XML pelo parser.
- Após você utilizar os objetos dinâmicos gerados pelo parser, a definição deles continua na memória, a menos que você limpe a definição usando a função DelClassIntf().
A estrutura retornada:
Bloco de código | ||
---|---|---|
| ||
<ObjXML> <NodeXML> -<ArrayNodes> -REALNAME -TEXT -TYPE |
Nota |
---|
Onde REALNAME, TEXT e TYPE São propriedades que todos nodos possuem. A propriedade <ArrayNodes> existirá quando um node possuir mais de um filho, do mesmo tipo. |
Exemplo
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "TOTVS.CH" #INCLUDE "XMLXFUN.CH" User Function getObjXML() Local cError := "" Local cWarning := "" Local oXml := NIL //Gera o Objeto XML oXml := XmlParser( GeraXML(), "_", @cError, @cWarning ) If (oXml == NIL ) MsgStop("Falha ao gerar Objeto XML : "+cError+" / "+cWarning) Return Endif // Mostrando a informação do Node MsgInfo(oXml:_PEDIDO:_NOMECLIENTE:Text,"Cliente") Return oXml // função para gerar uma string contendo um xml 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 |