Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 2 Próxima »

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 objeto
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 += "    <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
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10

 

  • Sem rótulos