Árvore de páginas

Cria um novo nó a partir de um ponto qualquer no XML - EXtensible Markup Language (Linguagem extensível de formatação).

Sintaxe

XmlNewNode( < oParent >, < cElementName >, < cRealName >, < cType > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

oParent

objeto

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

X


cElementName

caractere

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

X


cRealName

caractere

Indica o nome real do nó XML.

X


cType

caractere

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

X


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, tais como:
    RealName
    ElementName
    Type.
  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 '<pedido>', logo depois acessamos o nodo e acrecentamos um texto para
  ele. obs: o resultado disso no xml será <exemplo1>Exemplo Microsiga</exemplo1>
  Após a criação do nodo, a xmlChildCount irá retornar 6 indicando que o nó 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 cXML

  Return oXml

  // função para gerar uma string contendo um xml
  Static Function GeraXML()
  Local cScript := '<?xml version="1.0" encoding="UTF-8"?>'
  cScript += "<pedido>"
  cScript += "  <NomeCliente>Microsiga Software S/A</NomeCliente>"
  cScript += "  <Endereco>Av. Braz Leme</Endereco>"
  cScript += "  <Numero>1361</Numero>"
  cScript += "  <Data>22-03-2005</Data>"
  cScript += "  <Itens>"
  cScript += "    <Item>"
  cScript += "      <Produto>Prothues</Produto>"
  cScript += "      <Quantidade>1</Quantidade>"
  cScript += "      <Preco>100.00</Preco>"
  cScript += "    </Item>"
  cScript += "    <Item>"
  cScript += "      <Produto>ERP</Produto>"
  cScript += "      <Quantidade>0</Quantidade>"
  cScript += "      <Preco>0</Preco>"
  cScript += "    </Item>"
  cScript += "  </Itens>"
  cScript += "</pedido>"
  Return cScript
 

Veja também


  • Sem rótulos