/* Neste exemplo, criamos uma string contendo o xml, em seguida parseamos ele, e agora vamos deletar um nodo do objeto
retornado pela xmlParser, note que no exemplo passei o nodo '<itens><Itens>' como raiz da estrutura a ser pesquisada e
queremos deletar o nodo '<item><Item>', que é elemento de '<itens><Itens>'. A função xmlDelNodeXmlDelNode tem como objetivo deletar todos os
elementos '<item><Item>' que encontrar dentro da estrutura passada para inicio da pesquisa. */
#INCLUDE "PROTHEUS.CH"
#INCLUDE "XMLXFUN.CH"
User Function getObjXML()
Local cError := ""
Local cWarning := ""
Local oXml := NIL
//Gera o Objeto XML
oXml := XmlParser( GeraXML(), "_", @cError, @cWarning )
if !XmlDelNode( oXml:_PEDIDO:_ITENS, "_ITEMDATA" )
conout("Nao foi possivel excluir")
EndIf
// Tranforma o Objeto XML em arquivo ou string
// Grava o arquivo em um diretório \xml a partir do rootPath //
SAVE oXml XMLFILE "\teste.xml"
Return oXml
// função para gerar uma string contendo um xmlStaticxml
Static Function GeraXML()
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>2<<Quantidade>2</Quantidade>"
cScript += " <Preco>50<Preco>50.00</Preco>"
cScript += " </Item>"
cScript += " </Itens>"
cScript += "</pedido>"
Return cScript