Árvore de páginas


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

Sintaxe

XmlNode2Arr( < oRoot >, < cNode > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

oRoot

objeto

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

X


cNode

caractere

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

X


Observações

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

 
  /*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

Veja também

  • Sem rótulos