Função: XmlNode2Arr
Transforma em array um objeto (nó) da estrutura do XML - eXtensible Markup Language (Linguagem extensível de formatação).
XmlNode2Arr ( < oRoot>, < cNode> ) --> lRet
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 | Caracter | Indica 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 <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
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas