Á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

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

XmlNode2Arr ( < oRoot>, < cNode2arra> ) --> lRet

 

NomeTipoDescriçãoObrigatórioReferência
oRootObjetoIndica o elemento (nó) que será utilizado como raiz para iniciar a busca do elemento a ser transformado em array.X 
cNode2arraCaracterIndica o elemento procurado que será transformado em array na estrutura.X 

 

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

Ao informar um elemento (nó) da estrutura XML, através de parâmetro como raiz, a função irá procurar pelo nome do nó que será transformado em array.

/*No exemplo seguinte, é demonstrado o simples uso da função XmlNode2Arr, em que pegamos o objetoXmlobjeto
Xml e o tranformamos 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 += "    Microsiga Software" <Nome_Cliente>Microsiga Software</Nome_Cliente>"
cScript += "    Av<Endereco>Av. Braz LemeLeme</Endereco>"
cScript += "    1361<Numero>1361</Numero>"
cScript += "    22<Data>22-03-20052005</Data>"
cScript += "    <Itens>"
cScript += "        <Item>"
cScript += "            Prothues<Produto>Protheus</Produto>"
cScript += "            1<Quantidade>1</Quantidade>"
cScript += "            100<Preco>100.0000</Preco>"
cScript += "        </Item>"
cScript += "        <Item>"
cScript += "            ERP<Produto>ERP</Produto>"
cScript += "            0<Quantidade>0</Quantidade>"
cScript += "            0<Preco>0</Preco>"
cScript += "        </Item>"
cScript += "    </Itens>"
cScript += "</pedido>"
Return cScript
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10