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