/*No exemplo seguinte usamos a função para nos posicionar no nodo <itens> e, em seguida apagamos todos os nodosnós filhos
com a xmlDelNode. Usando o comando SAVE criamos um arquivo teste.xml ao final da execução do programa.*/
#INCLUDE "TOTVS.CH"
#INCLUDE "XMLXFUN.CH"
User Function ExeXML1()
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 )
oScript := XmlGetchild( oScript:_PEDIDO , XmlChildCount( oScript:_PEDIDO ))
// Agora vou apagar um node
if !XmlDelNode( oScript , "_ITEM" )
conout("Nao foi possivel apagar o nodo")
EndIf
// Tranforma o Objeto XML em arquivo
// SAVE oScript XMLFILE "\teste.xml"
Return oScriptStaticoScript
Static Function GeraXML() // Script XML a gerar objeto
Local cScript := '<?xml version="1.0" encoding="UTF-8"?>'
cScript += "<pedido><pedido>"
cScript += " <NomeCliente>Microsiga<NomeCliente>Microsiga Software S/A</NomeCliente>"
cScript += " <Endereco>Av<Endereco>Av. Braz Leme</Endereco>"
cScript += " <Numero>1361<<Numero>1361</Numero>"
cScript += " <Data>22<Data>22-03-2005</Data>"
cScript += " <Itens><Itens>"
cScript += " <Item><Item>"
cScript += " <Produto>Prothues<<Produto>Prothues</Produto>"
cScript += " <Quantidade>1<<Quantidade>1</Quantidade>"
cScript += " <Preco>100<Preco>100.00</Preco>"
cScript += " </Item>"
cScript += " <Item><Item>"
cScript += " <Produto>ERP<<Produto>ERP</Produto>"
cScript += " <Quantidade>0<<Quantidade>0</Quantidade>"
cScript += " <Preco>0<<Preco>0</Preco>"
cScript += " </Item>"
cScript += " </Itens>"
cScript += "</pedido>"
Return cScript