Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Portuguese

Pagetitle
XmlDelNode
XmlDelNode

Função: XmlDelNode

Exclui um nó de um objeto XML - 
EXtensible
eXtensible Markup Language (Linguagem extensível de formatação).

XmlDelNode( < oParent>, < cNode> ) --> lRet

 

NomeTipoDescriçãoObrigatórioReferência
oParentObjetoIndica o nó pai do elemento que será excluído.X 
cNodeCaracterIndica o nome real do elemento do nó que será excluído.X 

 

lRet
    (logico)
  • Retorna verdadeiro (.T.), se encontrar um elemento e excluí-lo; caso contrário, falso (.F.).

Essa função excluirá todos os nós que contém o nome igual ao nó informado para ser excluído a partir do nó indicado para pesquisa.
Para isso, informa-se através de parâmetro um elemento do objeto que contém a estrutura do XML (um nó qualquer). Este não precisa ser obrigatoriamente a raiz da estrutura.
Em seguida, deve-se informar o nome do nó que deseja excluir, pois a função procurará, recursivamente, a partir do nó informado, o elemento que possui o nome do nó que será excluído dentro da estrutura.

Importante
Não use essa função, pois ela modifica a estrutura do objeto XML, apresentando comportamentos indesejados após a remoção do elemento.

 

/* 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 '&ltitens><Itens>' como raiz da estrutura a ser pesquisada e
queremos deletar o nodo '&ltitem><Item>', que é elemento de '&ltitens><Itens>'. A função xmlDelNodeXmlDelNode tem como objetivo deletar todos os
elementos '&ltitem><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 += "&ltpedido><pedido>"
cScript += " &ltNomeCliente&gtMicrosiga<NomeCliente>Microsiga Software S/A</NomeCliente>"
cScript += " &ltEndereco&gtAv<Endereco>Av. Braz Leme</Endereco>"
cScript += " &ltNumero&gt1361<<Numero>1361</Numero>"
cScript += " &ltData&gt22<Data>22-03-2005</Data>"
cScript += " &ltItens><Itens>"
cScript += " &ltItem><Item>"
cScript += " &ltProduto&gtProthues<<Produto>Prothues</Produto>"
cScript += " &ltQuantidade&gt1<<Quantidade>1</Quantidade>"
cScript += " &ltPreco&gt100<Preco>100.00</Preco>"
cScript += " </Item>"
cScript += " &ltItem><Item>"
cScript += " &ltProduto&gtERP<<Produto>ERP</Produto>"
cScript += " &ltQuantidade&gt2<<Quantidade>2</Quantidade>"
cScript += " &ltPreco&gt50<Preco>50.00</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