/*No exemplo seguinte os códigos da string contendo o xml são convertidos e, em seguida, mantém-se a posicão no node <itens> e a função é acionada em busca de elementos <item> como filhos de <itens>.Neste caso, a função retorna um array, pois existe mais de um node do tipo <item>, obtendo oScript[1] e oScript[2].*/#INCLUDE "TOTVS.CH"#INCLUDE "XMLXFUN.CH"User Function ExeXML() Local cError := "" Local cWarning := "" Local oScript Local cFile := "" //a partir do rootpath do ambiente cFile := "\xml\pedido.xml" //Gera o Objeto XML ref. ao script oScript := XmlParser( GeraXML(), "_", @cError, @cWarning ) //Adquiro o elemento oScript := XmlGetChild(oScript:_PEDIDO , XmlChildCount( oScript:_PEDIDO )) oScript := XmlChildEx(oScript , "_ITEM") varinfo("Array", oScript) // Tranforma o Objeto XML em arquivo SAVE oScript XMLFILE "\xml\teste.xml" Return oScriptStatic Function GeraXML()// Script XML a gerar objetoLocal cScript := '<?xml version="1.0" encoding="UTF-8"?>'cScript += "<pedido>"cScript += " <NomeCliente>Microsiga Software S/A</NomeCliente>"cScript += " <Endereco>Av. Braz Leme</Endereco>"cScript += " <Numero>1361</Numero>"cScript += " <Data>22-03-2005</Data>"cScript += " <Itens>"cScript += " <Item>"cScript += " <Produto>Prothues</Produto>"cScript += " <Quantidade>1</Quantidade>"cScript += " <Preco>100.00</Preco>"cScript += " </Item>"cScript += " <Item>"cScript += " <Produto>ERP</Produto>"cScript += " <Quantidade>2</Quantidade>"cScript += " <Preco>50.00</Preco>"cScript += " </Item>"cScript += " </Itens>"cScript += "</pedido>"Return cScript