Saltar al contenido principal
Versión: 20 R7 BETA

DOM Append XML child node

DOM Append XML child node ( refElement ; tipoHijo ; valorHijo ) -> Resultado

ParámetroTipoDescripción
refElementTextReferencia del elemento XML
tipoHijoIntegerTipo de hijo a añadir
valorHijoText, BlobTexto o variable (Texto o BLOB)cuyo valor debe insertarse como nodo hijo
ResultadoTextReferencia del elemento XML hijo

Descripción

El comando DOM Append XML child node se utiliza para anexar el valor valorHijo al nodo XML designado por refElement.

El tipo de nodo creado es especificado por el parámetro tipoHijo. En este parámetro se puede pasar una de las siguientes constantes, del tema "":

ConstanteTipoValor
XML CDATAEntero largo7
XML commentEntero largo2
XML DATAEntero largo6
XML DOCTYPEEntero largo10
XML ELEMENTEntero largo11
XML processing instructionEntero largo3

En valorHijo, pase los datos a insertar. Pase una cadena o una variable 4D (cadena o BLOB). El contenido de este parámetro siempre se convertirá en texto.

Nota: si el parámetro refElement designa el nodo Document (nodo de nivel superior), el comando inserta un nodo "Doctype" antes de cualquier otro nodo. Lo mismo ocurre con las instrucciones de procesamiento y los comentarios, que siempre se insertan antes del nodo raíz (pero después del nodo Doctype).

Ejemplo 1

Adición de un 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>Hola<br/>Nueva<br/>York</myElement>

Ejemplo 2

Adición de un nodo de tipo instrucción de proceso:

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

Resultado (insertado antes del primer elemento):

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

Ejemplo 3

Adición de un nodo de tipo comentario:

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

Resultado:

<!--Hola mundo-->

Ejemplo 4

Adición de un nodo de tipo CDATA:

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

Resultado:

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

Ejemplo 5

Adición o reemplazo de un nodo de tipo declaración Doctype:

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

Resultado (insertado antes del primer elemento):

<!DOCTYPE Books SYSTEM  "Book.DTD">

Ejemplo 6

Adición o reemplazo de un nodo de tipo Element.

  • si el parámetro valorHijo es un fragmento XML, se inserta como nodos hijos:
 Reference:=DOM Append XML child node(refElement;XML ELEMENT;"simoneva")  

Resultado:

<parent>  
    <child>simon</child>
    <child>eva</child>
</parent>
  • de lo contrario, se añade un nuevo elemento hijo vacío:
 Reference:=DOM Append XML child node(elementRef;XML ELEMENT;"tbreak")  

Resultado:

<parent>  
    <tbreak/>
</parent>

Si el contenido de valorHijo no es valido, se devuelve un error.

Ver también

DOM GET XML CHILD NODES
DOM Get XML document ref