Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin
Composition Setup
import.css=/download/attachments/6062824/tecnologia.css
Portuguese

Pagetitle
XmlParserFile
XmlParserFile

Pagetitle
XmlParserFile
XmlParserFile

Esta função permite retornar um objeto, que possui uma estrutura XML, recebido de um arquivo por parâmetro.

Sintaxe

Bloco de código
collapsefalse
XmlParserFile( < cFile >, < cReplace >, < cError >, < cWarning > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cFile

caractere

Representa o dir etório (a partir do rootpath) e o nome de um arquivo *.xml.

X


cReplace

caractere

Representa o valor que será substituído, pelos caracteres de espaço em branco, na especificação do nó XML.

X


cError

caractere

Caso ocorra algum erro na execução da função, a variável será preenchida com sua descrição.

X

 X

cWarning

caractere

Caso ocorra algum alerta (warning) durante a execução da função, a variável será preenchida com sua descrição.

X

Retorno

Nome

Tipo

Descrição

oXML

objeto

Um objeto com a estrutura de acordo com o XML.

Observações

  • No código-fonte (exemplo) abaixo, observe os seguintes detalhes:
    • A User Function "getObjXML()" realizará a leitura do arquivo xml grqavado no disco.
    • Na variável "cFile", foi informada a string contendo o path e nome do arquivo xml a ser processado, localizado no disco a partir do rootpath do sistema Protheus.
    • A função "XmlParserFile" realizará a leitura do arquivo, analisará se a sintaxe e ordem das tags estão formadas, e gerar um objeto Advpl com a árvore correspondente a estrutura do XML.
    • Caso as tags não sejam formadas, corretamente, a variável (cError e cWarning) retornarão um alerta (warning) ou erro, conforme os parâmetros (@cError e @cWarning) informados por referência.
    • A variável "oXml" retornará o conteúdo do objeto na estrutura de árvore; ou seja, na mesma estrutura XML, onde cada nível da árvore é uma propriedade subsequente do objeto.
  • A estrutura retornada:

    Bloco de código
    languagecpp
    themeEclipse
    linenumberstrue
    collapsefalse
     <ObjXML>
      <NodeXML>
        -<ArrayNodes>
        -REALNAME
        -TEXT
        -TYPE
    

Exemplo

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
  #INCLUDE "TOTVS.CH"
  #INCLUDE "XMLXFUN.CH"

  User Function getObjXML()
  Local cError   := ""
  Local cWarning := ""
  Local oXml := NIL

  //Gera o Objeto XML
  oXml := XmlParserFile( 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


Veja também