Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

...

Portuguese

Pagetitle
XmlNewNode
XmlNewNode

Função: XmlNewNode

Cria

um

novo

a

partir

de

um

ponto

qualquer

no

XML

-

EXtensible

Markup

Language

(Linguagem

extensível

de

formatação).

Sintaxe

Bloco de código
collapsefalse
XmlNewNode( <
oParent>
 oParent >, <
cElementName>
 cElementName >, <
cRealName>
 cRealName >, <
cType> ) --> Nil
 cType > )

Parâmetros

/Elementos

Nome

Tipo

Descrição

Obrigatório

Referência

oParent

Objeto

objeto

Indica o local onde será inserido o novo nó XML.

X


cElementName

Caracter

caractere

Indica o nome do elemento (nó) no XML.

X


cRealName

Caracter

caractere

Indica o nome real do nó XML.

X


cType

Caracter

caractere

Indica o tipo de nó XML que será criado.

X

Nil (Nulo)


Observações

  • O novo nó será adicionado como filho no nó passado por parâmetro, no qual serão informados também os
seus dados
  • seus dados, tais como:
    RealName
,

  • ElementName
e

  • Type.
Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
  
/*
Neste exemplo criamos o xml através da função GeraXML, parseamos ele através da xmlParser retornando o objeto xml.
  Em seguida visualizamos o objeto retornado e usamos a funçao xmlChildCount retornando a quantidade de elementos no
  objeto contendo o xml. No Nosso exemplo a função irá retornar 5 elementos.Agora usaremos a xmlNewNode, especificando
  que o novo nodo será adicionado como filho de '
&ltpedido>
<pedido>', logo depois acessamos o nodo e acrecentamos um texto para
  ele. obs: o resultado disso no xml será 
&ltexemplo1&gtExemplo
<exemplo1>Exemplo Microsiga</
exemplo1&gtApós
exemplo1>
  Após a criação do nodo, a xmlChildCount irá retornar 6 indicando que o 
nodo
 foi inserido.
*/


  #INCLUDE "TOTVS.CH"
  #INCLUDE "XMLXFUN.CH"
  User Function getObjXML()

  Local cError   := ""

  Local cWarning := ""

  Local cXML := ""

  Local oXml := NIL


  //Gera o Objeto XML
  
oXml := XmlParser( GeraXML(), "_", @cError, @cWarning )

  //verifica quantos elementos possuo
  conout( XmlChildCount( oXml:_PEDIDO ) )

  // Criando um node

  XmlNewNode(oXml:_PEDIDO, "Exemplo1", "Exemplo1", "NOD" )


  //setando o CONTEUDO do meu nodo ""
  oXml:_PEDIDO:Exemplo1:Text := "Exemplo Microsiga"

  //verifica quantos elementos possuo depois da inserção
  conout( XmlChildCount( oXml:_PEDIDO ) )


  // Tranforma o Objeto XML em string
  //
SAVE oXml XMLSTRING 
cXMLReturn
cXML

  Return oXml

  // função para gerar uma string contendo um xml
 
xmlStatic
 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&gt0<
<Quantidade>0</Quantidade>"

  cScript += "      
&ltPreco&gt0<
<Preco>0</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

Veja também