Á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.

XmlChildEx ( < oParent>, < cProcura> ) --> xRet

 

NomeTipoDescriçãoObrigatórioReferência
oParentObjetoIndica o nó que será utilizado para iniciar a procura do elemento procurado.X 
cProcuraCaracterIndica o nome do elemento que será procurado.X 

 

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.
  • 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.
/*No exemplo seguinte os códigos da string contendo o xml são convertidos e, em seguida, mantém-se a posicão no node &ltitens>
<itens> e a função é acionada em busca de elementos &ltitem><item> como filhos de &ltitens&gt.Neste<itens>.N este caso, a função retorna um
array, pois existe mais de um node do tipo &ltitem><item>, obtendo oScript[1] e oScript[2].*/
#INCLUDE "TOTVS.CH"
#INCLUDE "XMLXFUN.CH"
User Function ExeXML()
Local cError := ""
Local cWarning := ""
Local oScript
Local cFile := ""
//a partir do rootpath do ambiente
cFile := "\xml\pedido.xml"

//Gera o Objeto XML ref. ao script
oScript := XmlParser( GeraXML(), "_", @cError, @cWarning )

//Adquiro o elemento
oScript := XmlGetChild(oScript:_PEDIDO , XmlChildCount( oScript:_PEDIDO ))
oScript := XmlChildEx(oScript , "_ITEM")
varinfo("Array", oScript)

// Tranforma o Objeto XML em arquivo
SAVE oScript XMLFILE "\xml\teste.xml"

Return oScriptStaticoScript

Static Function GeraXML()
// Script XML a gerar objetoLocalobjeto
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&gt2<<Quantidade>2</Quantidade>"
cScript += " &ltPreco&gt50<Preco>50.00</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