Aller au contenu principal
Version: Next

DOM Append XML child node

DOM Append XML child node ( refElément ; typeEnfant ; valeurEnfant ) : Text

ParamètreTypeDescription
refElémentTextRéférence d’élément XML
typeEnfantIntegerType d’enfant à ajouter
valeurEnfantText, BlobTexte ou variable (Texte ou BLOB) dont la valeur doit être insérée en tant que noeud enfant
RésultatTextRéférence de l’élément XML enfant

Description

La commande DOM Append XML child node permet d’ajouter la valeur valeurEnfant au noeud XML désigné par refElément.

Le type de noeud créé est défini par le paramètre typeEnfant. Passez dans ce paramètre l’une des constantes suivantes, placées dans le thème XML :

ConstanteTypeValeur
XML CDATAEntier long7
XML commentEntier long2
XML DATAEntier long6
XML DOCTYPEEntier long10
XML ELEMENTEntier long11
XML processing instructionEntier long3

Passez dans valeurEnfant les données à insérer. Vous pouvez passer une chaîne ou une variable 4D (chaîne ou BLOB). Le contenu de ce paramètre sera toujours converti en texte.

Note : Si le paramètre refElément désigne le noeud Document (noeud de plus haut niveau), la commande insère un noeud "Doctype" avant tout autre noeud. Il en va de même pour les instructions de traitement et les commentaires, qui sont toujours insérés avant le noeud racine (mais après le noeud Doctype).

Exemple 1

Ajout d’un noeud de type texte :

 Reference:=DOM Create XML element(refElement;"monElement")
 DOM SET XML ELEMENT VALUE(Reference ;"Bonjour")
 temp:=DOM Create XML element(Reference ;"br")
 temp:=DOM Append XML child node(Reference;XML DATA;"La")
 temp:=DOM Create XML element(Reference;"br")
 temp:=DOM Append XML child node(Reference;XML DATA;"France")

Résultat :

<monElement>Bonjour<br/>La<br/>France</monElement> 

Exemple 2

Ajout d’un noeud de type instruction de traitement :

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

Résultat (inséré avant le premier élément) :

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

Exemple 3

Ajout d’un noeud de type commentaire :

 Reference:=DOM Append XML child node(refElement;XML Comment;"Hello world")

Résultat :

<!--Hello world-->

Exemple 4

Ajout d’un noeud de type CDATA :

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

Résultat :

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

Exemple 5

Ajout ou remplacement d’un noeud de type déclaration Doctype :

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

Résultat (inséré avant le premier élément) :

<!DOCTYPE Books SYSTEM "Book.DTD">

Exemple 6

Ajout ou remplacement d’un noeud de type Elément.

  • si le paramètre valeurEnfant est un fragment XML, il est inséré en tant que noeuds enfants :
 Reference:=DOM Append XML child node(refElement;XML ELEMENT;"simoneva")  

Résultat :

<parent>  
    <child>simon</child>
    <child>eva</child>
</parent>
  • sinon, un nouvel élément enfant vide est ajouté :
 Reference:=DOM Append XML child node(refElement;XML ELEMENT;"tbreak")  

Résultat :

<parent>  
    <tbreak/>
</parent>

Si le contenu de valeurEnfant est invalide, une erreur est retournée.

Voir aussi

DOM GET XML CHILD NODES
DOM Get XML document ref

Propriétés

Numéro de commande1080
Thread safe