Função: XmlChildExRetorna um ou mais nós da estrutura, de acordo com o nome do elemento procurado. Sintaxe Bloco de código |
---|
| XmlChildEx( < | oParent> cProcura> ) --> xRetParâmetros/Elementos Nome | Tipo | Descrição | Obrigatório | Referência |
---|
oParent |
Objetoobjeto | Indica o nó que será utilizado para iniciar a procura do elemento procurado. | X |
Caractercaractere | Indica o nome do elemento que será procurado. | X |
|
Retorno Retorno() | 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 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 - 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/*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].*/
Bloco de código |
---|
language | cpp |
---|
theme | Eclipse |
---|
linenumbers | true |
---|
collapse | false |
---|
| User Function Exemplo()
#INCLUDE "TOTVS.CH" |
//Gera o Objeto XML ref. ao script |
oXML := XmlParser( GeraXML(), "_", @cError, @cWarning ) |
oXML := XmlGetChild(oXML:_PEDIDO, 5) // pega o 5º elemento a partir do elemento PEDIDO, o conteúdo da tag "Itens" |
oXML := XmlChildEx(oXML, "_ITEM") |
// 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 += " <NomeCliente>Microsiga Software S/A</NomeCliente>" |
cScript += " <Endereco>Av. Braz Leme</Endereco>" |
cScript += " <Numero>1361</Numero>" |
cScript += " <Data>22-03-2005</Data>" |
cScript += " <Produto>Prothues</Produto>" |
cScript += " <Quantidade>1</Quantidade>" |
cScript += " <Preco>100.00</Preco>" |
cScript += " <Produto>ERP</Produto>" |
cScript += " <Quantidade>2</Quantidade>" |
cScript += " <Preco>50.00</Preco>" |
AbrangênciaAdvanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 Veja também |