Árvore de páginas

Versões comparadas

Chave

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

...

Portuguese

Pagetitle
XmlChildEx
XmlChildEx

Função: XmlChildEx

Retorna

um

ou

mais

nós

da

estrutura,

de

acordo

com

o

nome

do

elemento

procurado.

Sintaxe

Bloco de código
collapsefalse
XmlChildEx( <
oParent>
 oParent >, <
cProcura> ) --> xRet 
 cProcura > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

oParent

Objeto

objeto

Indica o nó que será utilizado para iniciar a procura do elemento procurado.

X

 


cProcura

Caracter

caractere

Indica o nome do elemento que será procurado.

X


Retorno

 

Nome

 

Tipo

Retorno

Descrição

xRet

(

qualquer

)

Retorna o objeto do nó, se a função encontrar apenas um elemento, ou um array de nós, se possuir mais de um elemento do mesmo nome; caso contrário, o retorno será nulo.

Observações

  • Ao especificar um elemento qualquer do objeto para a função, na qual será usado como base para busca apenas no primeiro subnível,
 a
  • a função
retornará todos
  • retornará todos os nós filhos que encontrar.
  • Essa função é útil para procurar um elemento filho quando existe mais de um elemento do mesmo tipo.
<cProcura>
  • <cProcura> deve ser o nome que está na propriedade REALNAME da estrutura do obejto XML, ou seja, será a string passada como 2º parâmetro na função XMLParser/XMLParserFile seguido do nome do elemento em maiúsculo.
  • Pode-se utilizar essa função para alterar o posicionamento do objeto, para algum nó filho do atual, na estrutura do objeto XML - EXtensible Markup Language (Linguagem extensível de formatação).
  • Se for usado como retorno o mesmo objeto passado em
<oParent>
  • <oParent>, seu conteúdo será substituído pelo conteúdo do elemento procurado, não sendo possível recuperar a informação anterior.

Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
User Function Exemplo()

/*No exemplo seguinte os códigos da string contendo o xml são convertidos e, em seguida, mantém-se a posicão no nó
<itens> e a função é acionada em busca de elementos <item> como filhos de <itens>.N este caso, a função retorna um
array, pois existe mais de um node do tipo <item>, obtendo oXML[1] e oXML[2].*/
#INCLUDE "TOTVS.CH"


#INCLUDE "XMLXFUN.CH"


User Function ExeXML()


Local cError   := ""


Local cWarning := ""


Local oXML



//Gera o Objeto XML ref. ao script


oXML := XmlParser( GeraXML(), "_", @cError, @cWarning )



//Adquiro o elemento


oXML := XmlGetChild(oXML:_PEDIDO, 5) // pega o 5º elemento a partir do elemento PEDIDO, o conteúdo da tag "Itens"


oXML := XmlChildEx(oXML, "_ITEM")


varinfo("Array", oXML)


// Tranforma o Objeto XML em arquivo


SAVE oXML XMLFILE "\xml\teste.xml"

Return oScript


Static Function GeraXML()


// Script XML a gerar objeto


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>2</Quantidade>"


cScript += "      <Preco>50.00</Preco>"


cScript += "    </Item>"


cScript += "  </Itens>"


cScript += "</pedido>"


Return cScript
Return

Abrangência

Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10
 

Veja também