Árvore de páginas

Retorna um ou mais nós da estrutura, de acordo com o nome do elemento procurado.

Sintaxe

XmlChildEx( < oParent >, < cProcura > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

oParent

objeto

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

X


cProcura

caractere

Indica o nome do elemento que será procurado.

X


Retorno

Nome

Tipo

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 função 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> 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>, seu conteúdo será substituído pelo conteúdo do elemento procurado, não sendo possível recuperar a informação anterior.

Exemplos

User Function Exemplo()

#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"

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

Veja também

  • Sem rótulos