Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Portuguese

Pagetitle
XmlNode2Arr
XmlNode2Arr

Função: XmlNode2Arr


Wiki Markup
Transforma em array um objeto \(nó\) da estrutura do XML - eXtensible Markup Language \(Linguagem extensível de formatação\).

Sintaxe

Bloco de código
collapsefalse
XmlNode2Arr( <
oRoot>
 oRoot >, <
cNode> ) --> lRet
 cNode > )

Parâmetros

/Elementos

 

Nome

Tipo

Descrição

Obrigatório

Referência

oRoot

Objeto

objeto

Indica o elemento (nó) que será utilizado como raiz para iniciar a busca do elemento a ser transformado em array.

X

 

cNode

Caracter

caractere

Indica o elemento procurado que será transformado em array na estrutura.

X

 

 

lRet
    (lógico)
  • Retorna verdadeiro (.T.), se transformar em array; caso contrário, falso (.F.).

Observações

  • Ao informar um elemento (nó) da estrutura XML, através de parâmetro
<oRoot>
  • <oRoot> como raiz, a função irá procurar pelo nome do nó que será transformado em array (
<cNode>
  • <cNode>) no nível informado em
<oRoot>
  • <oRoot>. A função não faz busca em outros níveis da estrutura do XML.


Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
 
  /*
/*
No exemplo seguinte, é demonstrado o simples uso da função XmlNode2Arr, em que pegamos o objeto


  Xml e o transformamos em um array. Em seguida gravamos esse objeto em arquivo .xml propriamente dito.
*/


  
  #INCLUDE "TOTVS.CH"


  #INCLUDE "XMLXFUN.CH"



  User Function ExeXML()


  Local cError   := ""


  Local cWarning := ""


  Local oScript



  //Gera o Objeto XML ref. ao script


  oScript := XmlParser( GeraXML(), "_", @cError, @cWarning )



  // Transforma node em uma array, no caso tranforma a estrutura para array


  XmlNode2Arr( oScript:_PEDIDO, "_PEDIDO" )



  // Tranforma o Objeto XML em arquivo


  // Grava o arquivo em um diretório \xml a partir do rootPath


  SAVE oScript XMLFILE "\teste.xml"



  Return .T.



  Static Function GeraXML()


  Local cScript := '<?xml version="1.0" encoding="ISO-8859-1"?>'/*'<?xml version="1.0" encoding="UTF-8"?>'


  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 += "
 
     
 
 
 
 
 
 <Item>"


  cScript += "
           
            <Produto>ERP</Produto>"


  cScript += "
           
            <Quantidade>0</Quantidade>"


  cScript += "
           
            <Preco>0</Preco>"


  cScript += "
 
     
 
 
 
 
 
 </Item>"


  cScript += "
 
   
 
 </Itens>"


  cScript += "</pedido>"


  Return cScript

Abrangência

Advanced Protheus 6.09 ,

Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10

 

, ByYou Application Server

Veja também