Á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

de

um

objeto

XML

-

EXtensible

eXtensible Markup

Language

(Linguagem

extensível

de

formatação).

Sintaxe

Bloco de código
collapsefalse
XmlDelNode(
< oParent>, < cNode> ) --> lRet
 < @oParent > )

Parâmetros

Parâmetros/Elementos

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

Retorno

Nome

Tipo

lRet(logico)

Descrição

lRet

lógico

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

Observações

  • Essa
função excluirá
  • 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
  • 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
  • obrigatoriamente a raiz da estrutura, pois a função procurará, recursivamente.
  • 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.

 

  • .

Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
#include "protheus.ch"
/*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>' como raiz da estrutura a ser pesquisada e queremos deletar o nodo '&ltitem>', que é elemento de '&ltitens>'.A função xmlDelNode tem como objetivo deletar todos os elementos '&ltitem>' que encontrar dentro da estrutura passada para inicio da pesquisa.*/#INCLUDE "PROTHEUS.CH"
#INCLUDE "XMLXFUN.CH"

User Function 
getObjXML
Exemplo()
Local cError

  
  local cError := ""
Local

  local cWarning := ""
Local

 
oXml := NIL //Gera o Objeto XML
 local oXml := 
XmlParser( GeraXML(), "_", @cError, @cWarning ) if !XmlDelNode( oXml:_PEDIDO:_ITENS, "_ITEM" ) 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 xmlStatic Function GeraXML()Local cScript
nil
  local cName := "_NOMECLIENTE"

  cXml := '<?xml version="1.0" encoding="UTF-8"?>'
cScript

  cXml += "
&ltpedido>"cScript
<pedido>"
  cXml += "  
&ltNomeCliente&gtMicrosiga
<NomeCliente>Microsiga Software S/A</NomeCliente>"
cScript

  cXml += "  
&ltEndereco&gtAv
<Endereco>Av. Braz Leme</Endereco>"
cScript

  cXml += "  
&ltNumero&gt1361<
<Numero>1361</Numero>"
cScript

  cXml += "  
&ltData&gt22
<Data>22-03-2005</Data>"
cScript

  cXml += "  
&ltItens>"cScript
<Itens>"
  cXml += "    
&ltItem>"cScript
<Item>"
  cXml += "      
&ltProduto&gtProthues<
<Produto>Prothues</Produto>"
cScript

  cXml += "      
&ltQuantidade&gt1<
<Quantidade>1</Quantidade>"
cScript

  cXml += "      
&ltPreco&gt100
<Preco>100.00</Preco>"
cScript

  cXml += "    </Item>"
cScript

  cXml += "    
&ltItem>"cScript
<Item>"
  cXml += "      
&ltProduto&gtERP<
<Produto>ERP</Produto>"
cScript

  cXml += "      
&ltQuantidade&gt2<
<Quantidade>0</Quantidade>"
cScript

  cXml += "      
&ltPreco&gt50.00<
<Preco>0</Preco>"
cScript

  cXml += "    </Item>"
cScript

  cXml += "  </Itens>"
cScript

  cXml += "</pedido>"
Return cScript Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10


  oXml := XmlParser( cXml, "_", @cError, @cWarning )
  // Remove o elemento <NomeCliente> do xml
  lxml := XmlDelNode(oXml:_PEDIDO, cName)
  // Tranforma o Objeto XML em string
  SAVE oXml XMLSTRING cXML
  Conout(cXML)
return

Veja também