Saltar para o conteúdo principal
Versão: 20 R10

DOM Append XML child node

DOM Append XML child node* ( refElemento ; tipoFilho ; valorFilho ) : Text

ParâmetroTipoDescrição
refElementoTextelemento de referência XML
tipoFilhoIntegerTipo de filho a anexar
valorFilhoText, BlobTexto ou variável (texto ou BLOB) cujo valor deve ser inserido como um nodo filho
ResultadoTextRefência do elemento filho XML

Descrição

comando DOM Append XML child node se utiliza para anexar o valor valorFilho ao nodo XML designado por refElement.

O tipo de nodo criado é especificado pelo parâmetro tipoFilho. Neste parâmetro se pode passar uma das seguintes constantes, do tema "XML":

ConstanteTipoValor
XML CDATAInteiro longo7
XML commentInteiro longo2
XML DATAInteiro longo6
XML DOCTYPEInteiro longo10
XML ELEMENTInteiro longo11
XML processing instructionInteiro longo3

Em valorFilho, passe os dados a inserir. Passe uma string ou uma variável 4D (string ou BLOB). O conteúdo deste parâmetro sempre será convertido em texto.

Nota: se o parâmetro refElement determina o nodo Document (nodo de nivel superior), o comando insere um nodo "Doctype" antes de qualquer outro nodo. O mesmo ocurre com as instruções de processamento e os comentários, que sempre são inseridos antes do nodo raiz (mas depois do nodo Doctype).

Exemplo 1

Adição de um nodo de tipo texto:

 Reference:=DOM Create XML element(refElement;"myElement")
 DOM SET XML ELEMENT VALUE(Reference;"Hola")
 temp:=DOM Create XML element(Reference;"br")
 temp:=DOM Append XML child node(Reference;XML DATA;"Nueva")
 temp:=DOM Create XML element(Reference;"br")
 temp:=DOM Append XML child node(Reference;XML DATA;"York")

Resultado:

<myElement>Olá<br/>Nova<br/>York</myElement>

Exemplo 2

Adição de um nodo de tipo instrução de processo:

 $Txt_instruction:="xml-stylesheet type = \"text/xsl\" href=\"style.xsl\""
 Reference:=DOM Append XML child node(elementRef;XML Processing Instruction;$Txt_instruction)

Resultado (inserido antes do primeiro elemento):

<?xml-stylesheet type="text/xsl" href="style.xsl"?>

Exemplo 3

Adição de um nodo de tipo comentário:

 Reference:=DOM Append XML child node(elementRef;XML Comment;"Olá mundo")

Resultado:

<!--Olá mundo-->

Exemplo 4

Adição de um nodo de tipo CDATA:

 Reference:=DOM Append XML child node(elementRef;XML CDATA;"12 < 18")

Resultado:

<element><![CDATA[12 < 18]]></element>

Exemplo 5

Adição ou substituição de um nodo de tipo declaração Doctype:

 Reference:=DOM Append XML child node(elementRef;XML DOCTYPE;"Books SYSTEM \"Book.DTD\"")

Resultado (insido antes do primeiro elemento):

<!DOCTYPE Books SYSTEM  "Book.DTD">

Exemplo 6

Adição ou substituição de um nodo de tipo Element.

  • se o parâmetro valorHijo é um fragmento XML, se insere como nodos filhos:
 Reference:=DOM Append XML child node(refElement;XML ELEMENT;"simoneva")  

Resultado:

<parent>  
    <child>simon</child>
    <child>eva</child>
</parent>
  • do contrário, se adicionar um novo elemento filho vazio:
 Reference:=DOM Append XML child node(elementRef;XML ELEMENT;"tbreak")  

Resultado:

<parent>  
    <tbreak/>
</parent>

Se o conteúdo de valorFilho não é válido, se devolve um erro.

Ver também

DOM GET XML CHILD NODES
DOM Get XML document ref

Propriedades

Número do comando1080
Thread-seguro